我在站点a上有一个正在运行的Web服务,我在站点B内使用此服务没有问题,现在我正试图从站点B使用相同的服务,但没有成功。。。
代码如下-
$(function () {
$.getJSON("http://siteA.com/Services/myasmx.asmx/dummy",
{
sID: "tempID"
},
function (data) {
//success call
.
.
return false;
});
});
});
知道我如何从网站B使用网站A的Web服务吗?
感谢
作为一种安全措施,现代浏览器不允许跨站点HTTP请求。解决此问题的正确方法是在URL中使用JSONP回调。
$.getJSON("http://siteA.com/Services/myasmx.asmx/dummy?jsoncallback=?",
function(data){
// do something here
});
使用$.ajax-dataType:"jsonp"-这将自动为您注册回调函数,避免跨域问题。
这是因为跨域策略。
如果您可以在Web服务的响应中有一些头,那么您可以很容易地绕过它。
请参阅:http://www.w3.org/TR/cors/