jQuery调用WebService返回JSON数据

相信大家都比较了解JSON格式的数据对于ajax的方便,不了解的可以从网上找一下这方面的资料来看一下,这里就不多说了,不清楚的可以在网上查一下,这里只说一下因为参数设置不当引起的取不到返回值的问题。

在用jQuery调用WebService的时候,它contentType默认为

以下是WebService服务端的代码:

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Web;
 5 using System.Web.Services;
 6 using System.IO;
 7 using System.Web.Script.Serialization;
 8 using System.Web.Script.Services;
 9 
10 namespace WebService
11 {
12     /// <summary>
13     /// CallWebService 的摘要说明
14     /// </summary>
15     [WebService(Namespace = "http://www.qiandabao.com/")]
16     [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
17     [System.ComponentModel.ToolboxItem(false)]
18     // 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。
19     //[System.Web.Script.Services.ScriptService]
20     public class CallWebService : System.Web.Services.WebService
21     {
22 
23          [WebMethod]
24         public string ws()
25         {
26             return "test";
27         }
28     }
29 }

下面是客户端调用WebService时的代码:

 1 $.ajax({
 2     type: "POST",
 3     //dataType: "json",
 4     //contentType: "application/json; charset=utf-8",
 5     url: "http://localhost:8007/CallWebService.asmx/ws",
 6     data:"",
 7     success: function (data) {
 8         alert(data.d);
 9     },
10     error: function (data) {
11         //alert(data.responseText);
12     }
13 });

上面这段js返回的是xml格式的数据:

<?xml version="1.0" encoding="utf-8"?>
<string xmlns="http://www.qiandabao.com/">test</string>

 如果不指定contentType,WebService返回的就是xml格式的数据,

原文地址:https://www.cnblogs.com/wolfocme110/p/3480494.html