带有async = true的JQuery .ajax总是返回错误

时间:2012-10-30 09:05:34

标签: jquery ajax asynchronous

我尝试进行jQuery.ajax调用:

jQuery("#search_form").live("submit", function() {
    search_nr = jQuery("#search_input").val();
    jQuery.ajax({
        url: '/modules/mod_findarticle/process.php',
        data: "search_nr="+search_nr,
        async: true,
        'success':  function(data) {
                        alert(data);
                    },
        'error': function(jqXHR, textStatus, errorThrown) {
                  alert(jqXHR.status+",  " + jqXHR.statusText+",  "+textStatus+",  "+errorThrown);
        }
    });
});

作为回报,我总是收到一条警告“0,错误,错误,消息。 async = false 一切都很好。 我知道通过异步调用,脚本在收到任何实际数据之前完成工作但是可以做些什么来避免这种情况?

1 个答案:

答案 0 :(得分:3)

由于用户 mccannf ,问题已解决: 通过触发表单上的“submit”事件提交了两次数据,因此脚本始终在第二次调用之前停止处理数据。用function()替换.live(...)中的function(e) {e.preventDefault; ... }将禁用默认提交操作,从而完成操作!