使用jquery调用.net webservice的最佳方式是什么?
我想从另一个域使用jQuery调用.net webservice。使用jquery调用.net webservice的最佳方式是什么?
这样做的最好方法是什么?并且在托管网页的网站上需要注意哪些配置更改?
我之所以问这个问题,是因为我只是在控制这个区域。 所以我只能做有限的修改。
通常,答案是否定的,假设您正在讨论ASPX Web服务(基本上是ASP.NET站点中托管的WebService)。
http://encosia.com/2008/03/27/using-jquery-to-consume-aspnet-json-web-services/ 您使用的是承载Web服务):
这对“Web服务调用的jQuery”这应该给你更多的信息搜索时是在谷歌的第一击。
首先,我不确定在jQuery中实现的跨站点ajax是否可以在所有浏览器(firefox 3)中正常工作。 其次,我假设你正在谈论一个SOAP Web服务。我宁愿不这样做。实施起来非常复杂。
浏览器不允许通过默认配置的域进行XMLHTTPRequest调用。您可以更改浏览器设置以使某些调用成功,但这被认为是不好的做法。
为了进行跨域请求,可以
-
Use the local server as a proxy to a remote server
此示例使用本地ASP.NET Web服务做出雅虎通话地理编码服务
-
这个例子演示了如何通过Flickr的API创建一个桥梁flickr。
下面是一个例子:
$.post("CodersWS.asmx/DeleteBook", { id_book: parseInt(currBookID, 10) }, function(res) {
///do something with returned data: res
});
在上面的例子中,我打电话叫CodersWS.asmx
Web服务,并且将WebMethod里面叫DeleteBook
......我也传递了一个名为参数id_book
。
而且不要忘了这个片段添加到您的web.config
,否则您将无法访问Web服务是这样的:
<system.web>
<webServices>
<protocols>
<add name="HttpGet"/>
<add name="HttpPost"/>
</protocols>
</webServices>
</system.web>
使用webservice上的[ScriptService]属性允许从客户端脚本调用它。默认会返回JSON - http://msdn.microsoft.com/en-us/library/system.web.script.services.scriptserviceattribute.aspx – 2009-01-09 12:06:14
与JQuery的$ .ajax({})一起使用;命令以类似的方式调用webservice,例如这里 - http://encosia.com/2008/03/27/using-jquery-to-consume-aspnet-json-web-services/应该做你需要的东西 – 2009-01-09 12:09:39
是客户端的web.config或web服务? – Bravax 2009-01-09 09:54:16