我正在尝试使用简单的 $.get 请求从服务器获取数据。
$('#api')[0].contentWindow.$.get(
'/get_url'
function(data) {
},
'json'
);
$('#api') 在这里是一个 iframe,加载我网站的子域。我已将父页面和 iframe 的 document.domain 设置为相同的值,以便能够进行跨子域请求。
这在 Chrome 上没有问题,但是在 Firefox 上,回调永远不会被触发,我在 Firebug 控制台上看不到任何错误消息。请求返回 200 OK 代码。
响应头包含 Content-Type: application/json 。我还在上面的代码中强制预期的内容类型为 json。我已经使用 jsonlint 检查了返回的 json,它验证了 json。
我已经看到人们面临类似问题的几个问题,但在他们的情况下,通过设置内容类型响应标头或在获取请求中添加“json”来解决问题。但是,这并没有改变我的情况。
我使用的是 jquery 版本 1.7.1,而在后端我使用的是 django 1.3.1。
这是从服务器返回的示例 json 响应
{
"parameter": "value",
"parameter": integerValue,
"list": [
{
"name": "value"
},
{
"name": "value"
},
{
"name": "value"
}
],
"parameter": "value"
}
有任何想法吗?