麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 擴展 > jQuery > 正文

排除JQuery通過HttpGet調(diào)用WebService返回Json時“parserror”錯誤

2024-09-06 20:04:46
字體:
供稿:網(wǎng)友
JQuery大家都經(jīng)常用,以前用的時候沒有注意什么。最近本人在使用JQuery通過HttpGet方式調(diào)用WebService時,卻發(fā)現(xiàn)服務(wù)端并非如人所愿返回json數(shù)據(jù),而是返回錯誤提示:parserror。
如今問題被順利解決,下面是解決過程

首先看客戶端使用JQuery調(diào)用WebService的代碼:
代碼如下:
getHellobyAjax: function(callabckFun) {
$.ajax({
type: "GET",
url: "WebService.asmx/HelloWorld",
//contentType: "application/json; charset=utf-8",
//data:"{}",
cache: false,
dataType: "json",
success: function(msg) {
if (callabckFun) {
callabckFun(msg);
}
else {
alert("Not exists callback function.");
}
},
error: function(obj, message) {
alert(message);
}
});

服務(wù)端,WebService的代碼為:
代碼如下:
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public string HelloWorld() {
return "Hello World";
}

使用Fiddler跟蹤,發(fā)現(xiàn)客戶端調(diào)用服務(wù)器方法后,服務(wù)器返回的數(shù)據(jù)為XML格式。Why? 明明自己已經(jīng)在方法屬性上指明返回json,但是系統(tǒng)卻還是我行我素照常返回XML呢?
到此,大家的眼睛都是雪亮的。海內(nèi)外的網(wǎng)友一致指出.NET 3.5平臺是需要檢查contentType參數(shù)的,于是將上面代碼中的代碼注釋去除,重新運行。這時又出現(xiàn)error錯誤。用Fiddler一查,發(fā)現(xiàn)是服務(wù)器返回了500錯誤。具體錯誤為:
代碼如下:
{"Message":"試圖使用 GET 請求調(diào)用方法“HelloWorld”,但不允許這樣做。","StackTrace":" 在 System.Web.Script.Services.RestHandler.GetRawParams(WebServiceMethodData methodData, HttpContext context)/r/n 在 System.Web.Script.Services.RestHandler.ExecuteWebServiceCall(HttpContext context, WebServiceMethodData methodData)","ExceptionType":"System.InvalidOperationException"}

可是,按理說,我已經(jīng)在web.config文件中對WebService做了相應(yīng)的配置,為什么服務(wù)器還是不允許使用GET方式調(diào)用呢?無奈,將UseHttpGet屬性加上,并設(shè)置其為true,再祭出Fiddler一查,OK,服務(wù)器返回了json格式的數(shù)據(jù)。

再一看微軟的代碼注釋,有如下一段,正好解釋了上面的錯誤提示:
代碼如下:
// true if the method is invoked by using the HTTP GET command; false if the
// method is invoked by using the HTTP POST command. The default is false.

那么為什么Web.config已經(jīng)允許使用GET,卻不起作用呢?這只能解釋為:Web.config文件中的配置只是配置允許WebService接收Get請求,具體到每一個方法時,還必須要配置該方法的調(diào)用方式才行(如有錯誤,請指出。謝謝!!)。
有人回復(fù):
將ws的scriptmethod那句改為:[System.Web.Script.Services.ScriptService]
js中啟用content type
文章出處:www.cnblogs.com/jizhong
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 亚洲国产成人久久成人52 | 福利四区| 欧美成人高清视频 | 亚洲午夜网站 | 一色屋任你操 | 久久精品免费国产 | 一级黄色免费观看 | 中文字幕亚洲一区二区三区 | 久久99久久99精品 | 国产一区二区免费在线观看视频 | 欧美黑人一级 | 欧美性久久久 | 99爱在线免费观看 | 91av视频大全 | 久久国产精 | 91精品国 | 久久国产精品二国产精品 | 久久草在线观看视频 | 亚洲成人在线视频网站 | 欧洲精品视频在线观看 | 一级电影在线免费观看 | 一级电影免费在线观看 | 免费a级网站 | 国产精品自拍99 | 亚洲一区二区三区在线看 | 精品国产一区二 | 久久美女色视频 | 27xxoo无遮挡动态视频 | 在线免费小视频 | 日本va在线观看 | 国产亚洲精品视频中文字幕 | 欧美一级高潮片免费的 | 久章草影院| 国产99免费 | hdjapanesemassagehd日本| 在线观看网址av | 美国一级免费视频 | 九九视频精品在线观看 | 91精品国产成人 | 最新av免费网址 | 久久免费视频5 |