第三次Ajax成功后重新启动整个Ajax脚本?

第三次Ajax成功后重新启动整个Ajax脚本?,ajax,Ajax,我一直在寻找这样的例子,但没有找到任何能给我一个理解的答案 我的逻辑是: ajaxa执行 在AJAX上成功执行ajaxb 关于ajaxb的成功ajaxa执行 这可能吗 以下是我当前的ajax请求: $(document).ready(function(){ $('.date-picker').change(function(){ $.ajax({ type: 'POST', url: '

我一直在寻找这样的例子,但没有找到任何能给我一个理解的答案

我的逻辑是:

  • ajaxa执行
  • 在AJAX上成功执行ajaxb
  • 关于ajaxb的成功ajaxa执行
  • 这可能吗

    以下是我当前的ajax请求:

    $(document).ready(function(){
    
            $('.date-picker').change(function(){
                $.ajax({
                     type: 'POST',
                     url: 'php/getproduct.php',
                     data: {dateorderpicker: $('.date-picker').val()},
                     dataType: 'JSON',
                     success: function(data)
                     {
                        $("#cartrow").html(data.result_1);
                        $("#otheritems").html(data.result_2);
                        $(document).ready(function(){    
                            $(".additem-form").on("submit",function(event){
                               event.preventDefault();
                                $.ajax({
                                     type: "POST",
                                     url: "php/additem.php",
                                     data: {
                                              orderdate: $(this).find(".orderdate").val(),
                                              itemName: $(".itemName").val(), 
                                              pricetotal: $(".price").val(), 
                                              description: $(".description").val(),
                                              qty: $(this).find(".qtyitem").val()
                                     },
                                     success: function(data)
                                     {
                                        $.ajax({
                                                type: 'POST',
                                                url: 'php/refreshproduct.php',
                                                data: {dateorderpicker: $('.date-picker').val()},
                                                dataType: 'JSON',
                                                success: function(data)
                                                {
                                                    $("#cartrow").html(data.result_1);
                                                    $("#otheritems").html(data.result_2);
                                                }
                                        });
                                     }
                                });
                            });
                        });
                        $('.orderdate').val($('.date-picker').val());
    
                        $("input[name=action]").click(function(){
                            event.preventDefault(); 
                            $.ajax({
                                     type: "POST",
                                     url: "php/edit.php",
                                     data: {
                                              itemid: $("input[name=itemid]").val(),
                                              itemqty: $("input[name=itemqty]").val(),
                                              action: $(this).val()
                                     },
                                     success: function(data)
                                     {
                                        $.ajax({
                                                type: 'POST',
                                                url: 'php/refreshproduct.php',
                                                data: {dateorderpicker: $('.date-picker').val()},
                                                dataType: 'JSON',
                                                success: function(data)
                                                {
                                                    $("#cartrow").html(data.result_1);
                                                    $("#otheritems").html(data.result_2);
                                                }
                                        });
                                     }
                                });
                        });
                     }
                 });
             });
     });
    
    另外,我对AJAX非常陌生,如果您对语法等有任何建议,请随时给我建议:)


    干杯

    我会简化这个问题。您有两个事件:A和B。假设您有
    executeA
    executeB
    函数,它们处理各自的Ajax,如下所示:

    function successA(response) {
        executeB(response);
    }
    
    function successB(response) {
        executeA(response);
    }
    
    现在,在
    executeA
    中,第一个ajax正在执行,在
    executeB
    中,第二个ajax正在执行。您需要确保成功函数分别映射到
    successA
    successB


    另外,您必须确保单独调用
    executeA
    ,以发出调用循环。

    我认为这是合法的,每个Ajax函数调用相应的PHP脚本,但是,应该始终寻求清晰的编码。好的,我想我有点理解您的意图,但我有几个问题:1,您能给我一个例子,说明如何从refreshproduct ajax调用以使脚本再次从datepicker启动吗?2,在成功函数中甚至可以调用第一个脚本吗?1$(“.date picker”).change();2.是的。但我会分别定义这些函数。您的代码不够健壮,将来很难维护。哦,我没有意识到$(xxx).change();是一个可调用函数:O如何改进代码?您需要将ajax调用和成功实现为单独的原子函数。这将对您有所帮助,因为您可能希望在需要时单独给他们打电话。我知道你是JS的初学者,所以,如果我是你,我会从非常基本的函数开始,做非常基本的事情,当它们工作时,我会逐渐在那里添加一些新的东西,直到任务完成。当你第一次做某事时,渐进性是你的盟友;这是自动执行ajax,还是等待日期选择器的更改?因为即使我实现了它,它也不能解决我最初的问题,最初我认为这会起作用。