前段時間在自己的筆記本上(開發環境是VS2008)測試用ExtJs+ASP.NET做一個資訊系統架構,一切OK;
在項目遷到公司電腦(VS2005)上之後發現問題了,webService返回的結果都是XML 格式的。弄了很久沒有解決,後來乾脆都用aspx做後台輸出資料
今天偶然看到人家用Response.Write 在後台webService輸出資料,果然可以。
測試代碼如下:
<%@ WebService Language="C#" Class="TestWebService" %>using System;using System.Web;using System.Web.Services;using System.Web.Services.Protocols;[WebService(Namespace = "http://tempuri.org/")][WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)][System.Web.Script.Services.ScriptService]public class TestWebService : System.Web.Services.WebService { //原先通過return方式返回的是XML格式的結果 [WebMethod] public string HelloWorld_Old(string firstName, string lastName) { //return string.Format("Hello {0} {1}", firstName, lastName); return "{'success':true,'firstName':'" + firstName + "','lastName':'" + lastName + "'}"; } //通過Response 輸出string類型 [WebMethod] public void HelloWorld(string firstName, string lastName) { //return string.Format("Hello {0} {1}", firstName, lastName); string rtnStr="{'success':true,'firstName':'" + firstName + "','lastName':'" + lastName + "'}"; this.Context.Response.Write(rtnStr); }}