在我們的應(yīng)用中一般會(huì)是這樣的,使用了jquery作為客戶端框架,ajax請(qǐng)求也通常返回html或者json。html這里就不討論了。返回json一般都是搞一個(gè)handler.ashx來處理請(qǐng)求,拼湊字符串來返回json。從而放棄了ws,因?yàn)閣s返回的是xml,使用起來不方便。 所以我覺著比較完美的解決方法是讓ws返回json而且不用asp.net ajax的客戶端框是比較理想的解決方法。 通過觀測(cè)發(fā)現(xiàn)asp.net ajax的客戶端框架請(qǐng)求webservice的時(shí)候返回的是json,為什么webservice沒有返回xml而返回了json呢?抓包分析到,關(guān)鍵在request的headers中 “Content-Type: application/json;utf-8” ,因此webservice就使用了json的序列化,應(yīng)該是“System.Web.Script.Serialization.JavaScriptSerializer”這個(gè)類完成的工作,通過web.config的配置,把*.asmx交給了System.Web.Extensions.Dll。也就是這里還是用了asp.net ajax,不過是用的服務(wù)端部分,我這里直接用的asp.net 3.5 以上都是在啰嗦,具體的方法很簡(jiǎn)單,看例子 ws1.asmx 代碼如下: using System; using System.Collections; using System.ComponentModel; using System.Data; using System.Linq; using System.Web; using System.Web.Services; using System.Web.Services.Protocols; using System.Xml.Linq;