Ajax调用webservice

时间:2013-04-10 07:45:45

标签: ajax web-services

我有一个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'返回字符串列表(或者可以是字符串)

如果Im给出类型:'GET'和dataType:'json',它将重定向到错误部分。

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

我对ajax中的dataType概念感到困惑。

当我签入Firebug时,响应数据始终为xml格式。

2 个答案:

答案 0 :(得分:1)

如果您使用的是json dataType,则服务器应返回json。如果您对dataTypes有任何疑问,请浏览this链接。

答案 1 :(得分:1)

ASMX SOAP Web服务使用HTTP-POST协议调用该方法。理想情况下,“类型” ajax调用中的参数应该具有值'POST'。(check the MSDN documentation

关于数据类型,响应数据完全取决于内容类型和数据类型。您在ajax调用中提到的数据类型。根据数据类型参数,JQuery处理来自服务器的响应,该响应始终是SOAP Web服务的XML。

如果您将数据类型参数值设置为'xml',您将在成功回调函数中获得XML文档。如果您将其设为JSON,您将在成功回调函数中获取JSON Object。