【发布时间】:2011-07-08 17:54:49
【问题描述】:
我有以下 JS/JQuery sn-p:
function add_item() {
var item = $("input:text[name='new_item']").val();
$.post("{{ url_for('add_item') }}",
{'item' : item},
function(data) {
alert(':}');
});
}
它向 Flask 网络服务器执行一个简单的 AJAX 请求,并在成功时显示一个警告框(数据总是返回一个 JSON sn-p)。 AJAX 请求将字段添加到 SQLite 数据库并返回。在我的开发盒上,这个请求使用异步请求非常快地完成。但是,在另一台服务器上,此请求使用异步请求需要几秒钟(但小于默认超时)。
问题:当使用异步请求的请求需要很长时间才能完成时,永远不会调用回调。当我将 AJAX 设置更改为同步时,始终会调用回调。
谢谢!
【问题讨论】:
-
您是否检查过它是否超时?添加一个超时处理程序,看看它是否被调用或增加超时并尝试。还要添加一个错误处理程序以查看您是否收到任何错误。
-
我尝试增加超时时间 - 这没有任何新的影响。错误处理程序确实被调用。
-
你去。由于出现错误,您的成功处理程序不会被调用。
-
如何确定错误方法被调用的原因?如果我同步进行调用,则相同的代码可以工作。