Llo*_*eki 4 django ajax scriptaculous csrf prototypejs
Django已经更新到1.3,实际上从1.2.5开始,它已经扩展了该方案,以将Cross Site Request Forgery保护令牌传递给XMLHttpRequests.Django人员有助于为jQuery提供一个示例,以便将特定标头应用于每个XHR.
原型(以及Scriptaculous)必须遵守这个方案,但我找不到一种方法来告诉原型添加X-CSRFToken标头.最好的方法是在应用程序中应用它(如jQuery).
有没有办法做到这一点?
这是一个疯狂的猜测,但你可以尝试扩展基础AJAX类...
Ajax.Base.prototype.initialize = Ajax.Base.prototype.initialize.wrap(
function (callOriginal, options) {
var headers = options.requestHeaders || {};
headers["X-CSRFToken"] = getCookie("csrftoken");
options.requestHeaders = headers;
return callOriginal(options);
}
);
Run Code Online (Sandbox Code Playgroud)