当前位置: 首页 > 面试题库 >

jQuery嵌套的ajax调用格式

丁俊智
2023-03-14
问题内容

我需要根据上一个调用中的数据连续进行6个ajax调用。我将每个呼叫嵌套在上一个呼叫的成功中。我的问题是格式化代码的最佳方法是什么,以使编辑器中的代码行数不超过一百万行?

 $.ajax({
                type: "POST",
                url: "someScript/someScript.php",
                data: form + "&func=build",
                success: function (result) {
                 if (result == "ok")
                 {
                   $.ajax({
                   type: "POST",
                   url: "someScript/someScript.php",
                   data: form + "&func=someOtherFunc",
                   success: function (result) {
                        if (result == "ok")
                        {
                          $.ajax({
                           type: "POST",
                           url: "someScript/someScript.php",
                           data: form + "&func=someOtherFunc",
                           success: function (result) {
                           if (result == "ok")
                           {
                             .....and so on
                           }
                           })
                         }
                      })
                    })
                   }
                 })

忽略方括号,语法对于这个问题并不重要。


问题答案:

你可以做这样的事情

function ajaxCall1(){
    $.ajax({
        success: function(){
            ajaxCall2();
        }
    });
}
function ajaxCall2(){
    $.ajax({
        success: function(){
            ajaxCall3();
        }
    });
}
function ajaxCall3(){
    $.ajax({
        success: function(){
            ajaxCall4();
        }
    });
}


 类似资料:
  • 我有一种情况,我的ajax调用必须以特定的顺序执行。我在其他情况下使用了jQueryDeferred对象,但似乎找不到一种方法来使其正常运行。 我有一个函数,在它的生命周期中执行许多请求。一些请求将在其他请求的成功回调期间执行。 我的问题:当调用时,是否有方法将所有嵌套的延迟对象返回到原始的

  • 问题内容: 在我的JS中,我需要使用AJAX获取3个文件的内容,然后执行一些代码。这导致嵌套异步函数的外观看起来很奇怪。同样在我使用异步功能的任何时候,都会出现这种丑陋的嵌套。 当我真的只想等待它们完成时,如何避免嵌套函数?(如果有帮助,我正在使用jQuery) 问题答案: 这有几种使用和不使用延迟的不同技术。在所有情况下,都会启动所有ajax调用,然后一段代码跟踪所有ajax调用何时完成,并在调

  • 问题内容: 我花了太多时间寻找类似的问题并尝试解决方案,所以我希望有人能找到解决方案。 基本上,我想在函数a()完成时收到通知。问题在于该函数包含一个ajax调用和一个调用b()的循环,后者又包含一个ajax调用。 更新内容:http : //jsfiddle.net/hsyj7/1/ 像这样: 然后,我希望看到的是,可能同时在顶部都调用了a(): 相反,我得到了 或其一些变体。 我知道上面的代码

  • 问题内容: 这可能是基本的,但是我花了两天时间,阅读了无数教程,但仍然无法正常工作。为简单起见,我尝试完成一项基本任务只是为了看它能起作用。我想向我的捐赠视图发送一个ajax调用。我看到它成功通过,但是我期望我的模板也将更新为“ TRUE”,但仍为“ FALSE”。我有任何帮助或建议。 我的jQuery … 这是我的看法 我的模板包括这个… 更新/解决方案 就像在此问题的评论中提到的那样,我没有对

  • 问题内容: 因此,可以说JSON响应为: 当您必须首先访问数据时,如何获得值“ value1”和“ value2”? 如果字段位于根目录,那么我可以让该方法返回带有这些字段名称的POJO。 我基本上希望下面的工作。 问题答案: 您可以尝试以下代码,使用Gson库将json字符串转换为具有必填字段的Pojo对象。 或者,您可以定义嵌套的Pojo类来解析它。 编辑:尝试下面的代码以使用Retrofit

  • 问题内容: 我想在click事件中进行三个Ajax调用。每个ajax调用都会执行不同的操作,并返回最终回调所需的数据。调用本身并不相互依赖,它们可以同时进行,但是当三个都完成时,我希望有一个最终的回调。 问题答案: 这是我写的一个回调对象,您可以设置单个回调以在全部完成后触发,也可以让每个回调都有自己的回调并在全部完成后触发它们: 注意 从jQuery 1.5+开始,您可以按照另一个答案中所述使用