【发布时间】:2015-09-02 14:11:21
【问题描述】:
我看到一个类似的问题,但没有得到接受的答复。
以下 ajax 请求超时。但是GET 使用浏览器或curl 在同一URL 上请求工作正常。请注意,这是一个cross domain AJAX,因为代码位于不同的服务器上,并且 URL 用于 AWS EC2 (elastbeanstalk) 实例。
有什么线索吗?
$.ajax({
url: "http://<edited>.elasticbeanstalk.com/api/v1/Location",
dataType:'jsonp',
crossDomain:true,
timeout:120000
}).done(function(){
//do something
$("#status").html("SUCESS");
}).fail(function(jqXHR, textStatus){
if(textStatus == 'timeout')
{
//alert('Failed from timeout');
$("#status").html(textStatus);
//do something. Try again perhaps?
}
});
[编辑]添加
当我检查 AWS 服务器日志时,我看到 GET 请求以 200(成功)响应。但仍然 $.ajax 请求超时
120.138.116.202 - - [17/Jun/2015:12:12:31 +0000] "GET /api/v1/Location HTTP/1.1" 200 144 "http://yyyy.xxxx.com/" "Mozilla/5.0 (Windows NT 6.1 ; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.124 Safari/537.36"
【问题讨论】:
-
为了清楚起见,我看到代码的 .fail 部分被调用,并将 'textStatus' 设置为超时
标签: jquery ajax amazon-web-services