【问题标题】:Can I using cross-site XmlHttpRequest in Itunes LP environment?我可以在 Itunes LP 环境中使用跨站点 XmlHttpRequest 吗?
【发布时间】:2011-02-04 09:15:23
【问题描述】:

Itunes 基于 Webkit 平台,由于安全策略的原因,我们不能在 JavaScript 中使用跨站 XmlHttpRequest。但是,作为一个例外,我们可以使用特殊的标题来做到这一点。 这是源代码,我在 Safari 中成功完成了:

var url = 'http://mysite.net/canvas.php';   

var mybody = "<?xml version='1.0' charset='utf-8'?><person><name>Arun</name></person>";
var http = new XMLHttpRequest();

http.open("POST", url, true);   
http.setRequestHeader("X-PINGOTHER", "pingpong");
http.setRequestHeader('Content-Type', 'application/xml');

http.setRequestHeader("Content-length", mybody.length);
http.setRequestHeader("Connection", "close");   
http.send(mybody);

我将 xml 数据发送到我的服务器并在 Safari 浏览器中成功获得返回响应,但我无法在 iTunes LP 环境中执行此操作。那么有什么问题呢?

【问题讨论】:

标签: javascript itunes


【解决方案1】:

我不知道 iTunes LP 环境是什么,但通常情况下,如果您需要执行跨站点脚本,您会使用 JSONP。调查一下。我相信您可以找到大量示例。

【讨论】:

    【解决方案2】:

    JSONP 是不错的选择,但为了做到这一点,您需要创建服务以提供 JSONP 的功能。 但是,你不能拥有它。

    您可以使用代理发送 XmlHttpRequest,您可以使用 Flash 作为代理。 你可以找到更好的例子here

    【讨论】:

      猜你喜欢
      • 2015-04-24
      • 2021-03-11
      • 2010-09-28
      • 1970-01-01
      • 1970-01-01
      • 2018-10-27
      • 2020-05-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多