2012-10-30 46 views
2

我尽量让jQuery.ajax电话:JQuery的阿贾克斯与异步=真总是返回错误

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

+2

如果您检查Firebug中的响应,返回的错误代码是什么? –

+0

什么是错误? –

+0

为什么你甚至设置它?这是默认情况下。 – 2012-10-30 09:11:52

回答

2

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

+0

不客气;) – mccannf