0

我正在尝试从我的本地计算机对 Heroku 上的 Play 应用程序执行 AJAX 请求。目前,'complete''error'处理程序正在被调用,但不是'success'. 在 Opera 和 Firefox 中,我的响应标头是:

HTTP/1.1 200 OK
Cache-Control: no-cache
Content-Type: application/json; charset=utf-8
Server: Play! Framework;1.2.4;prod
Set-Cookie: PLAY_FLASH=;Expires=Fri, 5-Oct-12 08:22:46 GMT;Path=/
Set-Cookie: PLAY_ERRORS=;Expires=Fri, 5-Oct-12 08:22:46 GMT;Path=/
Set-Cookie: PLAY_SESSION=;Expires=Fri, 5-Oct-12 08:22:46 GMT;Path=/
Content-Length: 2295
Connection: keep-alive

Opera 还显示返回的 JSON 对象

这是我的代码:

var url = "http://myurl.com"

$.ajax({
    'complete': function (jqXHR, status) {
        console.log('Complete!');
        console.log(status);
        console.log(jqXHR.getAllResponseHeaders());
    },
    'dataType': "application/json",
    'error': function (jqXHR, status, error) {
        console.log('Error!');
        console.log(status);
        console.log(error);
    },
    'success': function (data, status, jqXHR) {
        console.log('Success!');
        console.log(status);
        console.log(data);
    },
    'type': 'GET',
    'url': url
});

其他类似的问题建议将数据类型更改为文本或完全删除它:两者都不起作用。我已经在J​​SONLint成功验证了返回的 JSON 对象。

控制台日志是:

Error!
error

Complete!
error

我不确定它是否已链接,但该getAllResponseHeaders()函数返回一个空字符串。

这是跨域错误吗?

欢迎任何帮助!

谢谢

4

1 回答 1

1

在这里,他们认为这确实是一个跨域错误。

于 2012-10-05T08:49:23.687 回答