我正在尝试从本地计算机上对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
});
其他类似的问题建议将数据类型更改为文本或完全删除它:既不起作用。我已在JSONLint成功验证了返回的JSON对象。
控制台日志是:
Error!
error
Complete!
error
我不确定它是否已链接,但getAllResponseHeaders()
函数返回一个空字符串。
这是跨域错误吗?
欢迎任何帮助!
由于