首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >XDomainRequest载未运行

XDomainRequest载未运行
EN

Stack Overflow用户
提问于 2013-08-18 16:26:19
回答 1查看 529关注 0票数 0

我正在尝试提出一个跨域请求,这个请求可以在$.getJSON中很好地工作。但是在IE中,我得到了一个讨厌的访问被拒绝错误。也许我不理解onload参数或XDR,但是当我添加参数时,什么都没有发生,只是挂起,没有错误,或者什么也没有。以下是代码:

代码语言:javascript
复制
var xdr = new XDomainRequest();
xdr.open("get", "http://somedomain.com?callback=?");
xdr.onload = function() {
  $.extend($.CSSService.sessionData,{"call_type":"create"});
  $.extend($.CSSService.sessionData,data);
  $.CSSService.sessionData.typing = false;
  timeoutTimer = setTimeout(PollServer,100);
  if(Callback) setTimeout(Callback,500);
};
xdr.send();

下面是在其他浏览器中完美工作的JSON调用。

代码语言:javascript
复制
$.getJSON("http://somedomain.com?callback=?",$.extend($.CSSService.sessionData,        {"call_type":"create"}),function(data){
  $.extend($.CSSService.sessionData,data);
  $.CSSService.sessionData.typing = false;
  timeoutTimer = setTimeout(PollServer,100);
  if(Callback) setTimeout(Callback,500);      
}
});

我被困在这上面已经好几个小时了。对我做错了什么有什么想法。代码示例非常受欢迎,因为我的JSON和jQuery没有达到标准。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-18 16:45:51

第二个片段指定了回调参数,因此$.getJSON实际上使用JSONP,这是一个很好的跨域。

首先,代码片段试图使用CORS。由于请求被拒绝,我假设远程服务器没有实现CORS,或者只是不想允许您的域。

第二个片段应该可以在所有浏览器中工作,包括IE8。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18301236

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档