我只使用JavaScript。
我知道jQuery将设置CSRF,
$(function() {
$.ajaxSetup({
headers: {
'X-CSRF-Token': $('meta[name="_token"]').attr('content')
}
});
});
但我怎么能使用" CSRF-Token"在JavaScript?
是否有可能对所有Ajax Call进行常见设置?
答案 0 :(得分:4)
要对所有ajax调用使用通用的csrf令牌,请将以下代码放在主布局刀片文件中。
在布局标题中:
<meta name="csrf-token" content="{{ csrf_token() }}" />
在布局页脚中:
<script type="text/javascript">
jQuery(document).ready(function() {
jQuery.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
});
</script>
这适用于您的所有ajax请求。
由于
答案 1 :(得分:2)
您可以包含上面相同的布局标题
但是如果你想使用纯javascript来包含令牌,你可以使用:
var xhttp = new XMLHttpRequest();
xhttp.open("POST", url , true);
xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhttp.setRequestHeader("X-CSRF-TOKEN", document.head.querySelector("[name=csrf-token]").content );
xhttp.send(params);
希望能帮助你的代码^^
答案 2 :(得分:1)
您可以像这样在ajax中传递csrf令牌:
$.ajax({
url: "/user.php",
method:"post",
data: { 'user_id':user_id,
'_token': "{{ csrf_token() }}" },
success:function(data){console.log(data);}
});