将ie9中的dromain发布数据从http服务器跨到https服务器



我有用户输入的数据,这些数据被发布到不同的域和不同的协议。经过阅读,我发现微软的XDomainRequest对象不允许跨源交互(不同的协议,端口,这里是#7。

我正在为FF、Safari和Chrome做一个标准的CORS AJAX调用(有效),并且我一直在尝试为IE9使用XDomainRequest对象。

if ($.browser.msie && window.XDomainRequest) {
  var xdr = new XDomainRequest();
  xdr.open("post", "https://_url_here");
  xdr.send( post_data );
}else { $.ajax(params); }

当我打开源站点的https版本时,它成功地将数据发送到接收url,但无法解析任何数据。xdr.send(post_data);"看起来"像是在发送时,我找不到有关它的信息,也无法在控制台中看到它。我看了看,但没能完全理解;控制台响应:Unable to get value of the property 'postMessage': object is null or undefined

if ($.browser.msie && window.XDomainRequest) {
  var domain = $("iframe").contentWindow;
  domain.postMessage( post_data );
  }else {
    $.ajax(params);
  }

有人能帮我一下吗?

在此处下载脚本:https://github.com/MoonScript/jQuery-ajaxTransport-XDomainRequest

在链接到jquery之后,但在进行ajax调用的脚本之前,将其包含在html中。

以一种相当刺耳的方式,我使用这个脚本将请求发送到我在heroku上运行的应用程序(http->http=运行良好),然后在heroku网站上运行一个sinatra应用程序,然后将数据发送到https网站。不漂亮,但很管用。

相关内容

  • 没有找到相关文章

最新更新