从jQuery访问Web服务 – 跨域

前端之家收集整理的这篇文章主要介绍了从jQuery访问Web服务 – 跨域前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图从jQuery客户端获取一个wcf服务

具体来说这个例子
http://www.codeproject.com/KB/aspnet/WCF_JQUERY_ASMX.aspx#4@H_403_4@

当客户端网页与服务在同一个域上时,所有功能都很好@H_403_4@

一旦将客户端网页移动到另一个域,它就会中断。它无法到达服务,请求失败@H_403_4@

对于所有示例,ASMX,REST和WCF都会发生这种情况@H_403_4@

任何想法如何让这个工作交叉daomain?@H_403_4@

解决方法

你正在反对同源政策。您正在访问的Web服务必须位于与发出请求的jQuery脚本相同的域上。所有浏览器都会执行此策略,以防止跨网站脚本和Web应用程序的代码注入攻击。

有各种方法包括JSONP,代理或Flash。@H_403_4@

我们需要一些更多的信息,然后才能建议您应该使用哪种技术。我倾向于喜欢JSONP.但在此期间,这里有一些亮点:@H_403_4@

http://taossa.com/index.php/2007/02/08/same-origin-policy/@H_403_4@

https://developer.mozilla.org/En/Same_origin_policy_for_JavaScript@H_403_4@

以下是JSONP的使用示例:@H_403_4@ @H_301_27@url = "http://www.test.com/getData.PHP?callback=parseResults"; document.body.appendChild((function() { var newScript = document.createElement("script"); newScript.type = "text/javascript"; newScript.src = url; return newScript; })()); function parseResults(data) { alert(data); }

猜你在找的jQuery相关文章