1

ajax を使用して Web サービスを呼び出す C# Web アプリケーションがあります。ajaxコードは次のようになります

$.ajax({
                  type: 'GET',
                  url: "WebServices/testwebService.asmx/Methodname",
                  contentType: "application/json; charset=utf-8",
                  data: { value: "string" },
                  dataType: 'xml',
                  success: function (data) {
                      alert(data);
                  },
                  error: function (data) {
                      alert("In error");
                  }

              });
          });

サービス 'WebServices/testwebService.asmx/Methodname' は、文字列のリストを返します (または文字列の場合もあります)。

ここで、 type: 'GET' および dataType: 'json' を指定すると、エラー部分にリダイレクトされます。

type: 'POST' の dataType 'json' または 'string'、または type: 'GET' の dataType 'xml' または 'string' として指定された場合、成功部分にリダイレクトされます。そして type: 'POST' の 'xml' dataType はエラー部分にリダイレクトされます。

私は ajax の dataType の概念と非常に混同しています。

Firebug をチェックインしたとき、応答データは常に xml 形式です。

4

2 に答える 2

1

ASMX SOAP Web サービスは、HTTP-POST プロトコルを使用してメソッドを呼び出します。したがって、理想的には、ajax 呼び出しの「タイプ」パラメーターの値は「POST」である必要があります ( MSDN のドキュメントを確認してください) 。

データ型に関しては、応答データは、ajax 呼び出しで言及したコンテンツ タイプとデータ型に純粋に依存します。データ型パラメーターに応じて、JQuery はサーバーからの応答を処理します。これは常に SOAP Web サービスの XML です。

データ型パラメータ値を「xml」にすると、成功コールバック関数で XML ドキュメントが取得されます。JSON にすると、成功コールバック関数で JSON オブジェクトが取得されます。

于 2013-04-10T12:21:52.963 に答える