我需要传递CSRFToken基于Ajax的帖子请求,但不确定如何才能以最佳方式完成。使用内部签CSRFToken入请求的平台(仅POST请求)
CSRFToken
最初我想将其添加到标题中
$(function() { $.ajaxSetup({ headers : { 'CSRFToken' : getCSRFTokenValue() } }); });
这将使其可用于每个Ajax请求,但不适用于我的情况,因为in请求CSRFToken仍然以null形式出现。
我可以CSRFToken为所有处理POST类型的Ajax调用设置任何方法吗
POST
编辑 如果我在Ajax调用中执行了类似的操作
data: {"newsletter-subscription-email" : "XXX" , 'CSRFToken': getCSRFTokenValue()},
一切正常。
我的问题是,我想将CSRFToken值作为请求参数而不是请求标头传递
这个怎么样,
$("body").bind("ajaxSend", function(elm, xhr, s){ if (s.type == "POST") { xhr.setRequestHeader('X-CSRF-Token', getCSRFTokenValue()); } });
参考:http : //erlend.oftedal.no/blog/? blogid= 118
要CSRF作为参数传递,
CSRF
$.ajax({ type: "POST", url: "file", data: { CSRF: getCSRFTokenValue()} }) .done(function( msg ) { alert( "Data: " + msg ); });