0

Edite:コメントのアドバイスに従ってコードを改良しましたが、まだうまくいきません

更新:あなたのアドバイスに従った後、ThiefMasterに感謝しますビュー関数でバグを見つけましたが、修正した後、djangoデバッグに入ります

禁じられた (403)

CSRF 検証に失敗しました。リクエストは中止されました。ヘルプ 失敗の理由: CSRF トークンが見つからないか、正しくありません。


jquery ajaxを使用してjsonデータをdjangoに送信しようとしています

ここに私のjsコードがあります

$("#send").click(function () {
    var events = $('#calendar').fullCalendar('clientEvents');
    console.log(events);
    var filter = [];
    filter[0] = 'start';
    filter[1] = 'end';
    filter[2] = 'title';
    events = JSON.stringify(events, filter, '\t');
    console.log(events);
    $.ajax({
        type: "POST",
        data: {events: events},
        url: <my_url>,
    });
});

chrome devtool では、最後の $.ajax() まですべて問題ありません

このエラーをスローします リソースのロードに失敗しました: サーバーは 403 (OK) のステータスで応答しました

誰かが私が間違っていることを理解できる場合は、先に進んでください

前もって感謝します

4

2 に答える 2

0

csrfに関するForbidden403に関するソリューションの他の部分を見つけました

Djangoドキュメントのこのページ

https://docs.djangoproject.com/en/dev/ref/contrib/csrf/#ajax

于 2012-04-01T11:04:49.107 に答える
0

data: "events"する必要がありますdata: events。サーバーが非 json ペイロードを好まない場合があります。

contentType: 'application/json'フォームでエンコードされた値ではなく、json を投稿したいので、追加することも必要です。ただし、サーバー側でフォーム エンコードされた値が予期される場合は、JSON文字列を含むdata: {events: events}POST データ フィールドを取得するために使用します。events

于 2012-03-31T22:41:00.633 に答える