如何将csrf标记添加到ajax请求

前端之家收集整理的这篇文章主要介绍了如何将csrf标记添加到ajax请求前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我有问题将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();

希望这也有助于某人.

猜你在找的Spring相关文章