zoukankan      html  css  js  c++  java
  • 嵌套的 ajax 请求

    今天看到了一个嵌套的ajax,算是长见识了。

    不过看一眼就知道怎么回事了。

    不是不会,就怕想不到。

     1 //发送一个ajax请求,嵌套的ajax请求
     2 'ajaxCall': function(url1, data1, url2, data2){
     3     var returnValue = '';
     4     $.ajax({
     5         type: "POST",
     6         url: url1,
     7         async: false,
     8         data: data1,
     9         success: function(data3) {
    10             //TODO
    11             //外层ajax响应成功,就再次发送ajax请求到第二个地址
    12             $.ajax({
    13                 type: "POST",
    14                 url: url2,
    15                 data: data2,
    16                 async: false,
    17                 success: function(data4) {
    18                     //TODO,对returnValue进行赋值
    19                 }
    20             });
    21         }
    22     });
    23     return returnValue;
    24 }

    注:

        外层的 AJAX 和内层的 AJAX 的 async 属性都要设置为 false, 如果不这样的话, 两次请求都是异步的, 可能会导致数据获取不到, 但是也有一个弊端, 因为同步, 在异步请求时, 浏览器是锁死状态, 不能进行其他的操作.

    附上一个 AJAX 的参数详解博客链接 [ AJAX 参数详解 ]

    ps:

    今天在看 jQuery1.5时,看到了这个$.when(), 使用这个就能解决上面的浏览器锁死状态.

    放上两个链接:

    var ajax1= $.ajax({
                         url: url1,
                         data: data1
                        });
     var ajax2= $.ajax({
                         url: url2',
                         data: data
                        });    
    var ajax3= $.ajax({
                         url: url3,
                         data: data
                        });        
     $.when(ajax1,ajax2,ajax3)
          .done(function(data, textStatus, jqXHR){
                       //TODO
               })
           .fail(function(data, textStatus, jqXHR){
                     //TODO
                });
  • 相关阅读:
    vue 自定义指令
    vue 插槽
    vue 菜单跳转 页面错乱
    vue项目中使用elementUI的el-tabs组件 浏览器卡死问题 解决办法
    vue 环境配置
    移动端页面 问题 注意事项
    定义全局 强制刷新指令
    手机端样式 处理
    手机访问电脑本地开发的页面
    百度AI
  • 原文地址:https://www.cnblogs.com/daimajun/p/7196779.html
Copyright © 2011-2022 走看看