我有问题将csrf添加到ajax请求.我在客户端使用百里香叶弹簧/弹簧安全. Spring安全性不允许该请求,因为缺少csrf-token.这是我的ajax代码
function bits(){
var xhttp = new XMLHttpRequest();
var selected = document.getElementById("product").value;
xhttp.onreadystatechange = function(){
if(xhttp.readyState==4 && xhttp.status==200){
var result= JSON.parse(xhttp.responseText)
var length = result.length;
for(i=0; i
}
帮助将不胜感激
最佳答案
我修改了@Prakash Hari Sharma的解决方案,并有以下代码对我有用.注意,th:前缀如果使用Thymeleaf.
– 头部分
<Meta th:name="_csrf" th:content="${_csrf.token}"/>
<Meta th:name="_csrf_header" th:content="${_csrf.headerName}"/>
Ajax脚本功能
...
...
var token = $("Meta[name='_csrf']").attr("content");
var header = $("Meta[name='_csrf_header']").attr("content");
...
...
xhttp.open("POST",true);
xhttp.setRequestHeader(header,token);
xhttp.send();
希望这也有助于某人.