我知道我会得到很多负面因素,但无法更好地描述这一点。
有一个网址:localhost/mycall.php
此端点上的PHP代码会休眠一个随机的秒数,然后返回JSON数据。
如果我通过浏览器直接调用此端点,它总是有效,但是如果我尝试通过如下所示的document.ready
调用中的AJAX调用它。
$.ajax({
method: 'POST',
url: '/mycall.php?' + new Date().getTime() + Math.random(1, 99999),
data: dataToSend,
success: function(data) {
console.log('success');
console.log(data);
},
error: function(jqXHR, textStatus, errorThrown) {
console.log('error');
console.log(textStatus);
},
complete: function(jqXHR, textStatus) {
console.log('complete');
console.log(textStatus);
}
});
它会在一段时间后返回,但没有数据,也没有触发任何回调。 这种情况发生在Opera,Chrome,甚至是最新的Firefox中。为什么会这样呢?
我忘了提一下,输出有“Content-Type”:“text / plain; charset = utf-8”标题,可能这是问题......?
答案 0 :(得分:1)
您的url
似乎存在问题,也许您不应该写localhost
?
答案 1 :(得分:1)
同样的事情经常发生在我身上。但是当我看到这个问题时,如果我定义数据格式,那么检查即将到来的响应是正确的json格式。 然后正确编码json。问题解决了。 我不知道你究竟发生了什么。可能这对你有帮助。
答案 2 :(得分:1)
您应在网址前加/
。没有它,它将被视为相对路径。