テスト環境用のVirtualBox(5.0.10)にはUbuntu(64ビット)があります。 Ajaxのポストリクエストを実行しようとすると、「禁止されている(CSRFのCookieが設定されていません)」というメッセージが表示されます。Ubuntu 16.04 LTS Django CSRFクッキーが設定されていません
しかし、私のWebアプリケーションの同じポストアクションは、OS Xの開発環境下で正常に動作します。新しいUbuntuリリースのバグではないかと疑いがあります。
これはどうして起こるのでしょうか?
ありがとうございました。
編集:私はそれはあなたのシステムのバグではないと思う
$.ajax({
type: 'post',
url: '{% url 'add-new-watch-folder' %}',
data: {
dirs: dirsJSON,
csrfmiddlewaretoken: '{{ csrf_token }}'
},
dataType: 'text',
success: function(result){
console.log(result);
},
error: function(xhr, status, error){
console.log(error);
}
});
郵便配達員のようないくつかのプラグインを試してみましたか? – Windsooon
シンプルなポストアクションですので、私は必要はありませんでした。テスト環境でクッキーをチェックすると、 'csrftoken'と 'sessionid'クッキーが設定されていないことがわかりました。それは実際には違いです。しかし、理由を知らない。 – israfil
AjaxコールのコードとCSRFトークンを取得する関数を投稿してください。 – Windsooon