HTML   发布时间:2022-04-14  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如何向Thymeleaf生成的表单或链接添加自定义HTTP请求标头?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我们在 Spring Boot应用程序中使用JWT身份验证.为了防止CSRF攻击,我们希望使用自定义HTTP标头而不是cookie将令牌发送回服务器.

有没有办法让Thymeleaf使用XMLHttpRequest来生成生成中的链接?我们不希望通过javascript onclick处理程序替换所有th:href锚点的模板.

解决方法

简答:不!

答案很长:说实话,问题无效. Thymeleaf只是一个生成HTML / XML的库. XMLHttpRequest也称为AJAX(*),仅通过javascript使用.

此外,无法使用带有javascript的表单发送自定义标头.因此,您需要编写一些javascript来添加自定义标题以及表单.这个自定义的javascript应该由你编写.Thymeleaf没有自动化的机制.

*对于未来的评论:我知道这不精确,不要迂腐;)

您可以将您的令牌添加到页面中[请参阅元标记]:

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org"
      xmlns:layout="http://www.w3.org/1999/xhtml"
      layout:decorator="Layout">
    <head>
        <title>Example</title>

        <meta name="_jwt" th:content="${yourToken}"/>
    </head>
    ...

然后在所有ajax请求中,您可以读取这些元值并添加为自定义标头.

例如,如果您使用的是jQuery,则可以全局配置所有jQuery ajax请求,如下所示:

$(function(){
    var _token = $('meta[name="_jwt"]').attr('content');

    $.ajaxPrefilter(function (options,originalOptions,jqXHR) {
        jqXHR.setRequestHeader("your_jwt_token_header_name",_token);
    });
});

大佬总结

以上是大佬教程为你收集整理的如何向Thymeleaf生成的表单或链接添加自定义HTTP请求标头?全部内容,希望文章能够帮你解决如何向Thymeleaf生成的表单或链接添加自定义HTTP请求标头?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: