在vanillaJS中使用jsonP,除了IE之外,效果很好

时间:2013-02-25 10:50:32

标签: javascript cross-domain jsonp

我的脚本遇到了一些麻烦,我正在使用jsonP请求创建指向我的第二个域的脚本标记,如下所示:

recupDataScript = function() {
    var otherDomain = "http://www.otherdomain.com/check?q=recupData",
    script = document.createElement('script'),
    script.type = 'text/javascript';
    script.async = true;
    script.src = otherDomain;
    document.getElementsByTagName('HEAD')[0].appendChild(script);
    }
}

在我使用这个简单的函数获取数据之后:

window.recupData = function(data){
    alert(data);
}

我的第二个域的页面上有一个发送jsonP答案的PHP脚本。

在所有浏览器中,我得到了答案对象对象,在IE(7,8或9)中,我得到了未定义的答案,除非我在IE中的设置中检查了cookie的自动管理,但是没有设置默认情况下。

我已经使用jQuery脚本进行了测试:

jQuery.getJSON("http://www.otherdomain.com/check?q=?",
   function(data) {
      alert(data);
   });

我得到了同样的问题(除了在IE上工作之外)

但是当我使用我的脚本时我无法获得flickr我在IE和其他方面得到了同样好的答案。但是我无法使用自己的脚本得到好的答案,也许我可以解决这个问题,探索在不使用jQuery的情况下获取flickr的jsonP的方法。

0 个答案:

没有答案