我有一个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格式。
答案 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。