jQueryの$.ajax()
を使用するコードがあります。AJAXとデータフォーマットの問題
データをJSON.stringify()
に渡す必要があることがわかりました。
$.ajax({
url: '/Resource/ReportError',
type: 'POST',
data: JSON.stringify({
ResourceId: popup.data('id'),
Reason: reason,
Description: $('#report-error-description').val(),
Email: $('#report-error-email').val()
}),
contentType: 'application/json; charset=utf-8',
success: function (data) {
// ...
},
error: function() {
// ...
}
});
これまでのところ、とても良いです。しかし、今はIDを渡すだけでデータを取得しています。だから私は代わりにGETを使用しなければならないと思った。
$.ajax({
url: '/Resource/GetInitialReviewData',
type: 'GET',
data: JSON.stringify({ resourceId: resourceId }),
contentType: 'application/json; charset=utf-8',
success: function (data) {
// ...
},
error: function() {
// ...
}
});
しかし、これはresourceId
は、サーバー上のnull
あることについてのエラーで失敗します。
JSON.stringify()
へのコールを削除した場合、正常に機能します。
data: { resourceId: resourceId },
誰もが理解しやすい方法でこれを説明できますか? POSTの場合はJSON.stringify
が必要ですが、の場合はGETが必要です。
必要()'のための
のURLを生成しますあなたのモデルのプロパティがシンプルな型の場合はPOSTを行います(ただし、 'contentType: 'application/json; charset = utf-8'、'を削除する必要があります) 'contentType: 'application/json; charset = utf- 'はGETで無意味です(ボディはありません) –
@StephenMuecke:ここで私を混乱させる' contentType'ですか?このコメントをもう少し詳しくお話したいと思います答えに。 –
私は小さな本の章を書くことなくそれを行う方法について考える必要があります –