【发布时间】: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 环境中执行此操作。那么有什么问题呢?
【问题讨论】:
-
已研究过跨域资源共享 (CORS),请参阅 [en.wikipedia.org/wiki/Cross-Origin_Resource_Sharing] && MDC 参考 [developer.mozilla.org/En/HTTP_access_control]
标签: javascript itunes