跨站点webservice ajax调用

时间:2012-09-11 14:43:28

标签: jquery ajax cross-domain

我在网站A上有一个有效的网络服务,我在网站A中使用此服务没有问题,现在我正在尝试从网站B使用相同的服务但​​没有成功...

代码如下 -

$(function () {
            $.getJSON("http://siteA.com/Services/myasmx.asmx/dummy",
                {
                    sID: "tempID"
                },
            function (data) {
                //success call
.
.
                return false;
                  });
              });
        });

任何想法如何从网站B使用网站A网络服务?

由于

3 个答案:

答案 0 :(得分:1)

将$ .ajax与dataType:“jsonp”一起使用 - 这将自动为您注册回调函数,避免跨域问题。

答案 1 :(得分:0)

这是因为跨域策略。

如果您可以在网络服务的响应中使用某些标题,则可以轻松绕过该标题。

请参阅:http://www.w3.org/TR/cors/

答案 2 :(得分:0)

现代浏览器不允许跨站点HTTP请求作为安全措施。解决此问题的正确方法是在URL中使用JSONP回调。

$.getJSON("http://siteA.com/Services/myasmx.asmx/dummy?jsoncallback=?",
    function(data){
      // do something here
    });