2

我尝试进行 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。我知道通过异步调用脚本在收到任何实际数据之前完成工作,但是可以做些什么来避免这种情况呢?

4

1 回答 1

3

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

于 2012-10-30T18:26:30.740 回答