本文目录


    $.ajax()给全局变量赋值问题解决示例

    今天在做项目时,遇到了一个问题。我用的是 ajax,要在 $.ajax({里面给一个全局变量赋值,结果死活赋值不上,纠结了好半天,后来上网查了查,才知道,ajax 默认是异步请求,(当要赋值时,此时的值没有拿到,所以赋值不成功)如果要在 $.ajax({里面给全局变量赋值,需要改为同步操作,即加上 async : false,就可以了。

    以下是自己写的异步验证用户名是否存在的代码

    var results;
    
            $.ajax({
                type: "POST",
                url: "ajax/checkfor1.php?action=reg\_checkEmail",       
                data: {email:email}, 
                dataType: 'text', 
                async: false,
                success: function(data){                                                    
                        results=data;
                        return false;
                },
                error: function() {  
    
                              alert("异常!");  
                         }  
            });
            if(results==0){
                ShowTips("用户名已经存在");  
                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');
          })
        }
    }

    原文地址 [blog.csdn.net](https://blog.csdn.net/qq_26222859/article/details/51543433)

    文章作者:  BigYoung
    版权声明:  本网站所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 BigYoung !