我希望能够仅使用jquery从另一个域调用.net webservice。
最好的方法是什么?在托管网页的网站上是否需要注意任何配置更改?
我问这个问题的原因是,我只能在那个区域进行有限的更改,对此没有完全的控制。
我希望能够仅使用jquery从另一个域调用.net webservice。
最好的方法是什么?在托管网页的网站上是否需要注意任何配置更改?
我问这个问题的原因是,我只能在那个区域进行有限的更改,对此没有完全的控制。
默认情况下,浏览器不允许XMLHTTPRequest在跨域时进行调用。您可以更改浏览器设置以使某些调用成功,但这被认为是不良做法。
为了执行跨域请求,您可以:
此示例使用本地ASP.NET Web服务调用Yahoo!地理编码服务。
此示例演示如何通过flickr API创建到flickr的桥接。
我认为你的问题是进行跨域调用。你需要将 jQuery 请求的数据类型更改为 jsonp
。
请查看这个链接
首先,我不确定在所有浏览器(Firefox 3)中,像jQuery实现的跨站点ajax是否能够正常工作。 其次,我猜你是在谈论SOAP Web服务。我宁愿不这样做,因为它将非常复杂。
更好的方法是使用Jquery.getJSON吗?
See: JQuery.getJSON
这引出了一个问题,如何使用Web服务或类似机制输出符合JSON标准的数据。这里是一个例子:
$.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>