[英]POST 400 error, ajax request
為什么我不能保存它,卻得到400(錯誤請求),並且在標頭響應上卻得到CSRF令牌無法驗證。
$(document).ready(function() {
$("a#copylink").click(function (e) {
e.preventDefault();
var data = $('#campaign-form').serialize();
$.ajax(
{
contentType: "application/json; charset=utf-8",
dataType: 'json',
method: 'POST',
url: 'campaignsave',
data: data,
success: function(data){
alert(data);
}
}
)
});
});
在后端:
public function actionCampaignSave()
{
var_dump($_POST);
}
您可以像這樣在ajax調用中傳遞[headers]參數。
$.ajax({
url : 'campaignsave',
method : 'POST',,
headers : {
'X-CSRF-TOKEN' : $('input[name="token"]').val()
}
dataType : 'json',
data : data,
success : function(response) {
console.log(response);
}
});
只要確保您放置了{!! csrf_field()!!}在您的[view]刀片模板上,以附加$(input [name =“ token”); html標記以獲取令牌值,以獲取CSRF令牌。 希望這可以幫助
試試這個可能對您有幫助
$.ajax({
type: "POST",
url: 'campaignsave',
data: {test : data},
success: function(data) {
alert(data);
}
});
在ajax上使用headers屬性傳遞csrf令牌
$.ajax({
contentType: "application/json; charset=utf-8",
dataType: 'json',
method: 'POST',
url: 'campaignsave',
headers: { 'X-CSRF-TOKEN': 'token' }
data: data,
success: function(data){
alert(data);
}
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.