Chr*_*sCa 18 ajax wcf jquery json cross-domain
我试图从jQuery客户端访问一个wcf服务
特别是这个例子 http://www.codeproject.com/KB/aspnet/WCF_JQUERY_ASMX.aspx#4
当客户端网页与服务位于同一域时,一切正常
一旦我将客户端网页移动到另一个域,它就会中断.它无法访问服务,请求失败
对于所有示例,ASMX,REST和WCF都会发生这种情况
任何想法如何让这个工作交叉daomain?
Gle*_*ord 10
您正在运行同源策略.您正在访问的Web服务必须与发出请求的jQuery脚本位于同一域中.所有浏览器都强制执行此策略,以防止 - 例如 - 跨Web站点脚本和Web应用程序的代码注入攻击.
它有各种各样的方法,包括JSONP,Proxies或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);
}
Run Code Online (Sandbox Code Playgroud)