4

jQuery.ajax() で MERGE のようなカスタム HTTP 動詞を使用することは可能ですか? レコードの更新を投稿するときに MERGE 動詞を期待する OData API と対話しています。

私が抱えている問題は、ajax() リクエストで「MERGE」を使用すると、サーバーにデータが送信されないことです。データなしで MERGE 要求を送信するだけなので、OData サービスはそれを拒否します。

要求を PUT に変更すると、OData サービスから 500 エラーが返されます。

私のオプションは基本的に、「MERGE」呼び出しを取得してリクエストとともにデータを送信する方法を理解するか、DELETE に続いて POST を実行するか (更新ごとにレコードを削除して再作成する)、または OData サービスを変更する方法を理解することです。更新用の PUT を受け入れる。

jQuery.ajax() に MERGE リクエストでデータを送信させる方法について何かアイデアがあれば教えてください。

ありがとう、

デイブ

4

3 に答える 3

6

これは、 がjQueryカスタム HTTP 動詞を処理できるかどうかの問題ではなく、ブラウザによって異なります。

于 2010-07-20T19:10:21.167 に答える
4

OData は、X-HTTP-Method ヘッダーを追加することで、POST を介した MERGEのトンネリングをサポートします (もちろん、JQuery を介してサポートされます)。

詳細については、このスレッドを参照してください

アレックス

OData プログラム マネージャー Microsoft

于 2010-07-21T01:47:50.350 に答える
1

この質問を通じて見つけた、これ興味深いブログ記事です。

答え-少なくとも2008年-私が正しく読んだ場合:

  • IEはそれをサポートしていないようです(少なくともバージョン7まで)

  • Firefoxはそれをサポートしています

  • GETOpera は未知のすべてをリクエストに変えます

試してみる必要があると思います。

于 2010-07-20T19:14:03.537 に答える