5

私は Django の REST フレームワークを使用して API を強化し、jQuery を使用して Ajax リクエストを送信しています。

次の cURL は問題なく動作します。

curl -X POST -d '{"timeLogMins": 30, "personid": 3, "projectid": 8, "timeLogStart_dtm": "2013-07-18"}' -H "Content-Type: application/json" -u user:password http://localhost:8000/api/timelogests/

ただし、jquery を使用して ajax 呼び出しを行うと、エラーが発生します。

$.ajax({
    url: update_url2,
    contentType:"application/json",
    headers: {
        "Authorization": "Basic " + window.btoa("user:password"),
    },
    dataType: "json",
    data: {
            "timeLogMins":30,
            "personid":personid,
            "projectid":projectid,
            "timeLogStart_dtm":start_date
            },
    type: 'POST',

}).error(function(r){ console.log(r) })
.success(function(r){ console.log("success", r) })

ヘッダーの設定は正常に機能しますが、データは次のように返されます。

"{"detail": "JSON parse error - No JSON object could be decoded"}"

私は昨日 REST Framework を使い始めたので、まだ慣れていません。リクエスト ヘッダーを傍受してその JSON を検査する方法はありますか? REST フレームワークのリクエスト オブジェクトはあまり見えません。

4

1 に答える 1

5

送信されたデータを実際の文字列に変換すると、JSON がフレームワークで読み取り可能になることがわかりました。jQueryのドキュメントによると、これはどちらの方法でも発生するはずですが、この特定のデータオブジェクトのレイアウトが壊れているようですか? これで問題は解決しましたが、何が問題なのかわかりません。

于 2013-10-17T19:50:22.727 に答える