奇妙な問題を発見しました。トルネードを使用してサイトを実行し、トルネード POST で _xsrf パラメータが必要です。jQuery バージョン 1.7.2 を使用すると、次のコードは正常に機能しましたが、ブラウザーを再度開くと POST 403 エラーが発生します (Cookie を保持)生きている) jQuery をバージョン 1.8.3 に変更した後...しかし、1.7.2 以前は正常に動作します...
tornado の 403 は、_xsrf が正しくないことを意味します。ポイントは、ブラウザを再度開くと 403 エラーが発生することです。まだログインしていますが、POST できません。
誰でも問題を知っていますか?以下はコードです
function getCookie(name) {
var r = document.cookie.match("\\b" + name + "=([^;]*)\\b");
return r ? r[1] : undefined;
}
jQuery.postJSON = function(url, args, callback) {
args._xsrf = getCookie("_xsrf");
$.ajax({
url: url, data: $.param(args), dataType: "text", type: "POST", async: true,
success: function(response) {
if (callback) callback(eval("(" + response + ")"));
},
error: function(response) {
try{
args._xsrf = getCookie("_xsrf");
$.ajax({url: url, data: $.param(args), dataType: "text", type: "POST", async: true,
success: function(response) {
if (callback) callback(eval("(" + response + ")"));
}
});
}
catch(e){
}
}
});
};