我有以下JS / JQuery代码段:
function add_item() {
var item = $("input:text[name='new_item']").val();
$.post("{{ url_for('add_item') }}",
{'item' : item},
function(data) {
alert(':}');
});
}
它向Flask网络服务器执行简单的AJAX请求,并在成功时显示警告框(数据始终返回JSON片段)。 AJAX请求将字段添加到SQLite数据库并返回。在我的开发框中,此请求使用异步请求非常快速地完成。但是,在另一台服务器上,此请求使用异步请求需要几秒钟(小于默认超时)。
问题:当请求需要很长时间才能完成使用异步请求时,永远不会调用回调。当我将AJAX设置更改为同步时,始终会调用回调。
感谢!
答案 0 :(得分:1)
我会在帖子上尝试$.ajax()
功能。似乎更加维护 - 1.6.2似乎也有一些问题,所以如果你需要,请尝试1.6.1:http://api.jquery.com/jQuery.ajax/
答案 1 :(得分:0)
使用错误方法找出你得到的错误。
function add_item() {
var item = $("input:text[name='new_item']").val();
$.post("{{ url_for('add_item') }}",
{'item' : item},
function(data) {
alert(':}');
}).error(function(jqXHR, textStatus, errorThrown) { alert("error"); });
}