springboot security post提交ajax请求遇到403错误解决方法
其实简而言之,就是csrf有问题。我们需要在html中添加一些东西
在head中添加2个meta
<meta name="_csrf" th:content="${_csrf.token}"/> <meta name="_csrf_header" th:content="${_csrf.headerName}"/>
对于ajax请求
如下是一个示例,可以在script中添加一个function
$(function () { var token = $("meta[name=_csrf]").attr("content"); var header = $("meta[name=_csrf_header]").attr("content"); $(document).ajaxSend(function(e, xhr, options) { xhr.setRequestHeader(header, token); }); })
<script> $(function () { var token = $("meta[name=_csrf]").attr("content"); var header = $("meta[name=_csrf_header]").attr("content"); $(document).ajaxSend(function(e, xhr, options) { xhr.setRequestHeader(header, token); }); }) $(function () { // + 绑定点击事件 $("span[id=add]").click(function () { //获取id var workerId = $(this).attr("class"); var workerSalary = $(this).next().text(); //计算调整后的工资 workerSalary = parseInt(workerSalary); workerSalary += 100; $(this).next().text(workerSalary); $.ajax({ url:/worker/addSalary, data:{ wid:workerId, workerSalary:workerSalary }, method:"POST", success:function (data) { if(data == "OK"){ alert("工资调整成功"); }else { alert("工资调整失败"); } } }) }) }) </script>