Jquery 如何在ajaxSend中停止ajax请求?

Jquery 如何在ajaxSend中停止ajax请求?,jquery,Jquery,我可以用另一种方法吗?为什么ajax没有通过返回false停止?为什么它没有停止?因为您定义的函数是$.post的回调函数,当您从post获得响应时,将始终调用该函数。因为默认情况下,$.post是异步的,所以您不能发布并等待响应来确定是否应该继续使用原始ajax调用 您可以使用同步ajaxpost(eww!bad!),也可以解释您试图实现的最终结果。在社区的帮助下,也许您可以重新考虑您的实现,而不需要一篇ajax文章来决定是否需要发布另一篇。总的来说,我认为你想要的是: $('#speiche

我可以用另一种方法吗?为什么ajax没有通过
返回false停止?

为什么它没有停止?因为您定义的函数是
$.post
的回调函数,当您从post获得响应时,将始终调用该函数。因为默认情况下,
$.post
是异步的,所以您不能发布并等待响应来确定是否应该继续使用原始ajax调用

您可以使用同步ajaxpost(eww!bad!),也可以解释您试图实现的最终结果。在社区的帮助下,也许您可以重新考虑您的实现,而不需要一篇ajax文章来决定是否需要发布另一篇。总的来说,我认为你想要的是:

$('#speichern').live('click' , function () {

    var data_save = $('#form_rechn').serialize()+ '&' + 'action=save' + '&' + 'total=' + Number($('#grandTotal').text().replace(/EUR/g, ""));

 $.ajax({ 
    type    : "POST",
    cache   : false,
    url     : 'invoice_new_action.php',
    data    : data_save,

    ajaxSend : $.post("invoice_new_action.php",{"action":"before","rn":   $('#rn').val()},function(huhn){
                var totest = Number(huhn)
                if ( totest == "") {
                    } else {
                $('#rn').val(totest); 
                $.fancybox('nr. existiert. ');
                return false; // Why don't stop here?
                };}),

     error:function (xhr, ajaxOptions, thrownError){
                alert(xhr.status);
                alert(thrownError);
     },
    success : function(data) { 
        $.fancybox(data); 
            }
    });

为什么不停下来?因为您定义的函数是
$.post
的回调函数,当您从post获得响应时,将始终调用该函数。因为默认情况下,
$.post
是异步的,所以您不能发布并等待响应来确定是否应该继续使用原始ajax调用

您可以使用同步ajaxpost(eww!bad!),也可以解释您试图实现的最终结果。在社区的帮助下,也许您可以重新考虑您的实现,而不需要一篇ajax文章来决定是否需要发布另一篇。总的来说,我认为你想要的是:

$('#speichern').live('click' , function () {

    var data_save = $('#form_rechn').serialize()+ '&' + 'action=save' + '&' + 'total=' + Number($('#grandTotal').text().replace(/EUR/g, ""));

 $.ajax({ 
    type    : "POST",
    cache   : false,
    url     : 'invoice_new_action.php',
    data    : data_save,

    ajaxSend : $.post("invoice_new_action.php",{"action":"before","rn":   $('#rn').val()},function(huhn){
                var totest = Number(huhn)
                if ( totest == "") {
                    } else {
                $('#rn').val(totest); 
                $.fancybox('nr. existiert. ');
                return false; // Why don't stop here?
                };}),

     error:function (xhr, ajaxOptions, thrownError){
                alert(xhr.status);
                alert(thrownError);
     },
    success : function(data) { 
        $.fancybox(data); 
            }
    });

你想取消哪个请求?
$.ajax
调用还是
$.post
调用?为什么要使用“内部”ajax请求,而不仅仅是合并数据?要取消哪个请求?
$.ajax
调用还是
$.post
调用?为什么要使用“内部”ajax请求,而不仅仅是组合数据?