1

我有一个 C# Web 应用程序,我在其中使用 ajax 调用 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' 它正在重定向到错误部分。

如果它以 dataType 'json' 或 'string' 的类型给出:'POST',或者 dataType 'xml' 或 'string' 的类型为:'GET',它会重定向到成功部分。和 'xml' dataType 类型:'POST' 重定向到错误部分。

我对 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 回答
1

如果您使用的是 json 数据类型,服务器应该返回一个 json。如果您对 dataTypes 有任何疑问,请通过此链接。

于 2013-04-10T08:34:02.287 回答