从jQuery访问Web服务 – 跨域

我试图从jQuery客户端获取一个wcf服务

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

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

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

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

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

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

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

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

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

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

以下是JSONP的使用示例:

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);
}
翻译自:https://stackoverflow.com/questions/2697557/accessing-web-service-from-jquery-cross-domain

转载注明原文:从jQuery访问Web服务 – 跨域