获取JSON文件跨域所有浏览器
Getting JSON Files cross domain for all browsers
嗨,我已经建立了一个web应用程序,一切都很好,直到我在IE9上测试了来自另一个域的JSON文件
基本上我们所有的JSON文件都存储在AMAZON上。
第一次加载的想法是我得到一个站点。json文件,这初始化和设置应用程序-但在IE9和定期在Safari和Chrome我得到跨域错误
这是我主页标题的一些节选
<meta http-equiv="Access-Control-Allow-Origin" content="*"/>
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.0/jquery-ui.min.js"></script>
<script type="text/javascript">
var SiteConfig, frameworkHost;
$(document).ready(function() {
var promise = $.ajax({
url: '//s3-ap-southeast-2.amazonaws.com/****/site.json',
method: 'get',
dataType: 'json'
});
$.when(promise).then(function(result) {
SiteConfig = result.data;
frameworkHost = '//s3-ap-southeast-2.amazonaws.com/**/public_html';
var requireTag = document.createElement('script');
requireTag.setAttribute('type', 'text/javascript');
requireTag.setAttribute('src', frameworkHost + '/js/require/require.js');
requireTag.setAttribute('data-main', frameworkHost + '/js/bootstrap');
document.head.appendChild(requireTag);
});
});
</script>
但问题是,只要url得到网站。json在IE9上不是本地的,它失败了。
同样在chrome和safari上的iphone 4s与ios 5有时我得到这个错误
XMLHttpRequest无法加载http://s3-ap-southeast-2.amazonaws.com/*。Access-Control-Allow-Origin
不允许当我清除缓存时,这是有效的。它在FF上运行完美。
有人能帮忙吗?
谢谢
if ($.browser.msie && window.XDomainRequest) {
// Use Microsoft XDR
var xdr = new XDomainRequest();
xdr.open("get", "someurl");
xdr.onload = function () {
var JSON = $.parseJSON(xdr.responseText);
if (JSON == null || typeof (JSON) == 'undefined')
{
JSON = $.parseJSON(data.firstChild.textContent);
}
processData(JSON);
};
xdr.send();
} else {
$.ajax({
type: 'GET',
url: "someurl",
processData: true,
data: {},
dataType: "json",
success: function (data) { processData(data); }
});
}
相关文章:
- 如何:浏览器将JSON发送到服务器
- JSON-从浏览器向外部服务器发送哪些http头JSON文件
- Json到CSV下载,可以在chrome中工作,但不能在IE浏览器中工作
- 从web浏览器通过javascript向侦听TCP端口5500的本地应用程序发送json命令
- 谷歌图表未在浏览器/JSON中显示
- 点击浏览器的“后退”按钮显示的是JSON而不是HTML(使用Rails和d3.js)
- 将 package.json 用于客户端包,可以在浏览器中动态加载
- 如何在浏览器中触发另存为对话框,以便可以在内存中保存 json 数据
- 为什么它不将 JSON 返回到浏览器
- 在Phonegap模拟器/ iPhone中解析JSON与通过浏览器
- 在系统浏览器中打开JSON链接-Cordova
- 将JSON对象转换为敲除observable在IE8中不起作用,但在所有其他浏览器中都起作用
- 如何在浏览器中解析连接的JSON字符串
- 如何在浏览器中压缩json请求数据
- JSON无法与Opera Mini浏览器配合使用
- 使用 JSON 和 ExtJS 将 MPDF 结果返回给浏览器
- 在浏览器工具中加载 JSON 数据,但不在网页上加载
- 如何在谷歌浏览器应用程序上发布JSON
- 从浏览器将 JSON 写入文件
- 浏览器JSON与节点JSON