zoukankan      html  css  js  c++  java
  • 前端获取Ajax请求获取数据,无法赋值给全局变量

    首先,ajax默认是走异步请求的,ajax异步加载数据。 但是在响应成功之后给全局变量赋值,是不成功的。刚遇到,感觉很奇怪。后来百度了,知道ajax异步加载数据,执行顺序的问题。ajax的异步响应是在最后才返回的,所以打印时,还没响应,因此赋值也是失败的。在加载页面时,ajax还未发起请求。
    但有时候有些业务必须这么做。

    解决:Ajax请求中添加属性  async:false;将ajax请求变为同步请求

        或者在全局设置Ajax属性
        $.ajaxSetup({
            async: false
          });

    如果说ajax请求成功之后将结果数据想要赋值给一个变量,将要接受赋值的变量必须在ajax请求之前进行全局定义。

    代码如下:

     1  var results;
     2         
     3         $.ajax({
     4             type: "POST",
     5             url: "ajax/checkfor1.php?action=reg_checkEmail",        
     6             data: {email:email}, 
     7             dataType: 'text', 
     8             async: false,
     9             success: function(data){                                                    
    10                     results=data;
    11                     return false;
    12             },
    13             error: function() {  
    14                         
    15                           alert("异常!");  
    16                      }  
    17         });
    18         if(results==0){
    19             ShowTips("用户名已经存在");  
    20             return false;}

    网络源码:原文链接:https://segmentfault.com/q/1010000000334467

    var coordinates = (function() {
        var result;
        $.ajax({
            type:'POST',
            url:'/json',
            dataType:'json',
            data:{cmd:'coordinates'},
            async:false,
            success:function(data){
                result = data;
            }
        });
        return result;
    })();
     
    $(document).ready(function(){
        if(coordinates.length) {//初始化页面,把所有坐标列一个列表
          $.each(coordinates, function(index,term) {
            var $item = $('<li class="item"></li>').text('坐标:'+term[0] + ',' + term[1]).appendTo('#list');
          })
        }
    }
  • 相关阅读:
    MySQL (下篇)
    【JUC剖析】专栏总集篇
    CF1391D(思维)
    CF1393E2(字符串)
    洛谷P5405 [CTS2019]氪金手游(期望,容斥)
    P5293 [HNOI2019]白兔之舞(单位根反演)
    洛谷P5400 [CTS2019]随机立方体(计数)
    洛谷P5401 [CTS2019]珍珠(生成函数)
    支配树学习笔记
    UOJ455 雪灾与外卖(模拟费用流)
  • 原文地址:https://www.cnblogs.com/T8888/p/12105594.html
Copyright © 2011-2022 走看看