如何在每个 AJAX Post 调用中获取 Laravel 5.2 令牌?
How to get Laravel 5.2 token in every AJAX Post Call?
我试图在每个 AJAX Post 请求中获取 laravel 令牌,因为我没有使用 laravel 表单,所以没有自动检索令牌。
HTML BODY:
<input type="hidden" id="_token" name="_token" value="{!! csrf_token() !!}">
我的代码:
function ajax_Call() {
var formdata = $("form").serializeArray();
token = $('#_token').val();
$.ajax({
url: 'url',
type: 'POST',
token: token;
data: formdata,
success: function (r) {
}
});
}
但这不是working.Please帮助我。
改为将令牌添加到 formData AJAX 参数:
function ajax_Call() {
var formdata = $("form").serializeArray();
formdata.append("_token", $('#_token').val());
$.ajax({
url: 'url',
type: 'POST',
data: formdata,
success: function (r) {
}
});
}
也将通过headers发送令牌:
$.ajaxSetup({
headers: {
'X-CSRF-Token': $('#_token').val()
}
});
将以下 header 添加到您的 ajax
headers: {'X-CSRF-TOKEN': $('#_token').val();}
尝试 ajaxPrefilter ,在每个 ajax 请求中包含令牌:
$.ajaxPrefilter(function(options, originalOptions, xhr) { // this will run before each request
var t = $('input[name="_token"]').val(); // or _token, whichever you are using
if (t) {
return xhr.setRequestHeader('X-CSRF-TOKEN', t); // adds directly to the XmlHttpRequest Object
}
});
现在您无需添加:
var t = $('#token').val();
在您的每个请求中。希望对您有所帮助。
我试图在每个 AJAX Post 请求中获取 laravel 令牌,因为我没有使用 laravel 表单,所以没有自动检索令牌。
HTML BODY:
<input type="hidden" id="_token" name="_token" value="{!! csrf_token() !!}">
我的代码:
function ajax_Call() {
var formdata = $("form").serializeArray();
token = $('#_token').val();
$.ajax({
url: 'url',
type: 'POST',
token: token;
data: formdata,
success: function (r) {
}
});
}
但这不是working.Please帮助我。
改为将令牌添加到 formData AJAX 参数:
function ajax_Call() {
var formdata = $("form").serializeArray();
formdata.append("_token", $('#_token').val());
$.ajax({
url: 'url',
type: 'POST',
data: formdata,
success: function (r) {
}
});
}
也将通过headers发送令牌:
$.ajaxSetup({
headers: {
'X-CSRF-Token': $('#_token').val()
}
});
将以下 header 添加到您的 ajax
headers: {'X-CSRF-TOKEN': $('#_token').val();}
尝试 ajaxPrefilter ,在每个 ajax 请求中包含令牌:
$.ajaxPrefilter(function(options, originalOptions, xhr) { // this will run before each request
var t = $('input[name="_token"]').val(); // or _token, whichever you are using
if (t) {
return xhr.setRequestHeader('X-CSRF-TOKEN', t); // adds directly to the XmlHttpRequest Object
}
});
现在您无需添加:
var t = $('#token').val();
在您的每个请求中。希望对您有所帮助。