前一个ajax掉完判断是否再调用下一个ajax

前一个ajax掉完判断是否再调用下一个ajax

题目:跨域ajax,当ajax1执行后根据返回结果执行ajax2,当ajax2执行后根据结果执行ajax3……

方法一:基础方法,ajax嵌套

//检查账号是否存在
$.ajax({
    type:'get',
    url:'http://www.yuming.com/checkname',
    data:{'name':name,'key':key},
    dataType:'jsonp',
    success:function(msg){
        if(msg.result==1){
            //检查短信验证码
            $.ajax({
                type:'get',
                url:'http://www.yuming.com/checkcode',
                data:{'name':name,'code':code,'key':key},
                dataType:'jsonp',
                success:function(msg){
                    if(msg.result==1){
                        //注册提交
                        $.ajax({
                            type:'POST',
                            url:'http://www.yuming.com/register,
                            data:{'name':name,'pwd':pwd,'code':code,'key':key},
                            dataType:'jsonp',
                            success:function(msg){
                                alert( msg.message );
                                return false;
                            }
                        });
                    }else{
                        alert( msg.message );
                        return false;
                    }
                }
            });
        }else{
            alert( msg.message );
            return false;
        }
    }
});


方法二、利用$.when

//检查账号是否存在
var checkname = $.ajax({
    type:'get',
    url:'http://www.yuming.com/checkname',
    data:{'name':name,'key':key},
    dataType:'jsonp'
});
//检查短信验证码
var checkcode = $.ajax({
    type:'get',
    url:'http://www.yuming.com/checkcode',
    data:{'name':name,'code':code,'key':key},
    dataType:'jsonp'
});
//注册提交
var register = $.ajax({
    type:'get',
    url:'http://www.yuming.com/register',
    data:{'name':name,'pwd':pwd,'code':code,'key':key},
    dataType:'jsonp'
});

$.when(checkname).done(function(data){
    //console.log(data);
    if(data.result==1){
        $.when(checkcode).done(function(msg){
            //console.log(msg);
            if(msg.result==1){
                $.when(register).done(function(e){
                    alert( e.message );
                    return false;
                });
            }else{
                alert( msg.message);
                return false;
            }
        });
    }else{
        alert( data.message );
        return false;
    }
});

注:为了防止密码等信息被拦截,建议应该加密后进行提交。

http加密方案:
1、对称加密:DES、3DES、AES、RC5、TDEA、Blowfish、IDEA
2、非对称加密:RSA、md5、Elgamal、Base64、Rabin、HD、ECC


这个是自己总结的,如果有什么不对的地方欢迎指正,谢谢

猜你喜欢

转载自blog.csdn.net/u013227399/article/details/81167276