一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - ASP.NET教程 - 排除JQuery通過HttpGet調用WebService返回Json時“parserror”錯誤

排除JQuery通過HttpGet調用WebService返回Json時“parserror”錯誤

2019-09-20 13:59asp.net教程網 ASP.NET教程

排除JQuery通過HttpGet調用WebService返回Json時“parserror”錯誤的解決方法。

JQuery大家都經常用,以前用的時候沒有注意什么。最近本人在使用JQuery通過HttpGet方式調用WebService時,卻發現服務端并非如人所愿返回json數據,而是返回錯誤提示:parserror。 
如今問題被順利解決,下面是解決過程 

首先看客戶端使用JQuery調用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); 

}); 


服務端,WebService的代碼為: 

復制代碼代碼如下:


[WebMethod] 
[ScriptMethod(ResponseFormat = ResponseFormat.Json)] 
public string HelloWorld() { 
return "Hello World"; 


使用Fiddler跟蹤,發現客戶端調用服務器方法后,服務器返回的數據為XML格式。Why? 明明自己已經在方法屬性上指明返回json,但是系統卻還是我行我素照常返回XML呢? 
到此,大家的眼睛都是雪亮的。海內外的網友一致指出.NET 3.5平臺是需要檢查contentType參數的,于是將上面代碼中的代碼注釋去除,重新運行。這時又出現error錯誤。用Fiddler一查,發現是服務器返回了500錯誤。具體錯誤為: 

復制代碼代碼如下:


{"Message":"試圖使用 GET 請求調用方法“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"} 


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

再一看微軟的代碼注釋,有如下一段,正好解釋了上面的錯誤提示: 

復制代碼代碼如下:


// 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已經允許使用GET,卻不起作用呢?這只能解釋為:Web.config文件中的配置只是配置允許WebService接收Get請求,具體到每一個方法時,還必須要配置該方法的調用方式才行(如有錯誤,請指出。謝謝!!)。 
有人回復: 
將ws的scriptmethod那句改為:[System.Web.Script.Services.ScriptService] 
js中啟用content type 
文章出處:www.cnblogs.com/jizhong

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 性关系视频网站 | 22sihu国产精品视频影视资讯 | 国产性做久久久久久 | 久久亚洲电影www电影网 | 国产里番 | 按摩椅play啊太快了h | 特级毛片免费观看视频 | 国色天香社区视频免费观看3 | 免费370理论片中文字幕 | 99小视频| 精品无人区一区二区三区 | 第一次破苞h | 91在线精品老司机免费播放 | 国产亚洲精品一区二区在线观看 | 国产成人免费在线视频 | 国产综合亚洲欧美日韩一区二区 | 美女机机对机机的视频(免费) | 亚洲AV无码乱码在线观看浪潮 | 亚洲 欧美 中文 日韩 另类 | 国产亚洲精品美女久久久 | 福利色播 | 免费看片aⅴ免费大片 | 国产精品51麻豆cm传媒 | 免费观看欧美成人h | 久久噜国产精品拍拍拍拍 | 国内精品91最新在线观看 | 国产成人综合精品一区 | 国产成人精品午夜视频' | 欧美成人免费观看久久 | 2019国内自拍大神视频 | 国产精品欧美亚洲韩国日本99 | 91天堂一区二区 | 视频国产精品 | 风间由美在线 | 九九热在线免费观看 | 国产愉拍精品视频手机 | αv在线视频| 国产日韩精品一区二区在线观看播放 | 亚久久伊人精品青青草原2020 | 免费大秀视频在线播放 | 亚洲精品短视频 |