资源描述:
《jquery调用webservice返回json数据及参数设置注意问题》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、jQuery调用WebService返回JSON数据及参数设置注意问题.NETFramework3.5的发布解决了WebService调用中json问题,本文将介绍jQuery调用基于.NETFramework3.5的WebService返冋JSON数据,感兴趣的朋友可以了解下,希望本文対你有所帮助.NETFramework3.5的发布解决了WebService调用中json问题,本文将介绍jQuery调用基T.NETFramework3.5的WebService返回JSON数据,另外还要介绍一下用jQuery调用WebSe
2、rvice的参数设置及设置不当所出现的问题,还有出现问题的原因jQuery调用WebService网上的介绍也比较多,最近的项目中我也用到不少,一直都很少用.NETAjax,比较钟情TjQuery调用请求WebService冇几种方法,这主要说一下POST与GET方法,其实安全方法考虑不建议使用GET方法,下面就说一下用jquery调用WebService的参数设置及设置不当所出现的问题,还有出现问题的原因。我们这里只讨论返回JSON数据的情况,相信大家都比较了解JSON格式的数据对于ajax的方便,不了解的可以从网上找一下
3、这方面的资料來看一下,这里就不多说了,或者我以后再写一篇这方血的文章。下面是jQuery调用WebService服务器端代码:WS1和WS2方法为POST方法请求的方法,所以设置UseHttpGet为false,WS3与WS4为GET方法请求的方法,设置UseHttpGet为true。复制代码代码如卞:usingSystem.Web.Script.Services;usingSystem.Web.Services;namespaceWebService35IllWebServicel的摘耍说明III[WebService(N
4、amespace=")][WebServiceBinding(ConformsTo=WsiProfiles.BasicProfilel_l)][System.ComponentModel.Toolboxltem(false)]//若耍允许使用ASP.NETAJAX从脚木川调用此Web服务,请取消对下行的注释。[System.Web.Script.Services.ScriptService]publicclassWebServicel:System.Web.Services.WebService{[WebMethod][Sc
5、riptMethodfUseHttpGet=false)]publicstringWS1(){return"POST无参数”;}[WebMethod][ScriptMethodfUseHttpGet=false)]publicstringWS2(strings){returns;}[WebMethod][ScriptMethodfUseHttpGet=true)]publicstringWS3()return“GET无参数”;}[WebMethod][ScriptMethodfUseHttpGet=true)]publics
6、tringWS4(strings){returns;}}}复制代码代码如下:functionfunl(){$.ajax({url:,,WebServicel.asmx/WSl,,/type:"POST",dataType:njsorf:contentType:“applicationjiujiu360.com/json;charset=utf-8nzdata:success:function(json){alertfjson.d);},error:function(x,e){alert(x.responseText);Lco
7、mplete:function(x){alert(x.responseText);)});}上面的JS方法为用POST方法请求无参数的WebService方法的代码,不过以上代码并不能返回正确的JSON格式的数据,而是返回XML格式的数据,回为要使WebService返回JSON格式的数据,要在RequestHeaders屮设置Content-Type为application/json,有人要问了,你不设置了contentType为"application/json;charset=utf-8M了吗?没错,是设置了,不过在j
8、query中,如果Content-Length为0或者没有设置,它会忽略你设置的contentType的,我可以看下而的这个图,这是抓取的RequestHeaders的数据,可以看到Content-Length为0,并口没有Content-Type,所WebService就不知道我们需要J