我有一个基本的Ajax请求(见下文),但它只在页面刷新时执行。
当我在Chrome中对此进行调试时,在刷新页面之前,onclick事件的断点不会被触发,我理解这是因为the page is waiting on something,但是如果查看“源”选项卡,它正在等待响应或者来自请求的URL中的某些内容 - 即使实际功能尚未运行。单击此按钮后,这仅显示在“源”选项卡中。为什么它等待URL(这是一个IP地址,它将数据发送到本地程序)在函数被命中之前被“调用”?如何阻止它进行“检查”?
$("#gt").click(function() {
$.post({
url: 'http://127.0.0.1:13000',
data: {
'mediaType': 'giftTag',
'giftTagMessage': 'Enjoy!'
},
success: function(json) {
alert(json);
},
error: function(xhr, textStatus, errorThrown) {
if (textStatus == 'timeout') {
this.tryCount++;
if (this.tryCount <= this.retryLimit) {
//try again
$.ajax(this);
return;
}
return;
}
if (xhr.status == 500) {
//handle error
} else {
//handle error
}
}
});
});
我知道有很多[(solved) jQuery ajax form doesn't work个类似的请求],但不完全一样。没有处理AJAX抢先调用页面的问题。
答案 0 :(得分:0)
这不是由AJAX本身造成的,而是其他程序没有足够快地将任何内容写回流中。