3

Ajax の PUT に問題があります。

フィドラーを使用して URL への PUT を実行すると: http://domain.com:58226/api/Person/1、リクエスト本文: {"firstName":"Stan","lastName":"Dard"}、できます。

しかし、ajax を使用して同じことを行うと、機能しません。

 $.ajax({
 data: '{"firstName":"Stan","lastName":"Dard"}',       //{action:'x',params:  ['a','b','c']}
 url: 'http://domain.com:58226/api/Person/'+id,
 type: 'PUT',
success: function(result) {

alert("Uppdaterad!");
        }
    });
4

4 に答える 4

0

答えは、オブジェクトを JSON.stringify し、contentType: text/json を変更することです。

于 2012-10-10T13:51:08.083 に答える
0

データは文字列である必要があると思います。オブジェクトは、ここに表示されているクエリ文字列に変換されます。

このJSON.stringify(obj)メソッドを使用して、オブジェクトを文字列に変換できます。

于 2012-10-10T12:44:01.477 に答える
0

jquery docsによると、すべてのブラウザがサポートしているわけではありません。

SDDS

しかし、それはフィドラーで動作します。

Fiddler はブラウザーではありません。

于 2012-10-10T12:46:44.977 に答える
0

この StackOverflow の投稿をご覧ください。

jQueryとAJAXで情報を取得・投稿・削除・Putする方法

「セキュリティ上の理由から、jQuery を使用してクロスドメイン AJAX リクエストを行うことはできません。」

于 2012-10-10T12:50:10.637 に答える