如何从Ajax中取值

47 阅读1分钟

如何从Ajax中取值

1.需求

添加用户前,js验证表单是否有错误。其中验证用户名有一步骤是通过ajax查数据库是否有同名用户,如果有弹窗并返回一个false,但是这个false取不出来,解决方案就是,将ajax的同步方式(async)改为false

2.代码

 function add() {

        var b=true;
       
        $.ajax({
            type:'post',
            url:'${pageContext.request.contextPath}/ajax',
            data:{
                'flag':'checkUserName',
                'username':$("#username").val(),
            },
            async:false,
            dataType:'text',
            success:function (data) {
                if (data =='non'){
                    alert("用户名已存在");
				//	return false;   这里的false根本出不去ajax       
                  b = false;

                }
            }
        })

//测试
alert(b);
//当ajax的异步方式为true时,b为true;当ajax的异步方式为false时,b为false

        if (b ==false){
            return false;
        }

        if ($("#username").val().trim()==''){
            alert("请输入用户名");
            return false;

        }else if ($("#usercode").val().trim()==''){
            alert('请输入用户编号');
            return false;

        }

        else if ($("#password").val().trim()==''){
            alert("请输入密码");
            return false;

        }else if ($("#userage").val().trim()==''){
            alert('请输入年龄');
            return false;

        } else if ($("#userage").val()>120||$("#userage").val()<0){
            alert('请输入正确的年龄');
            return false;

        }
        return true;
    }

3.说明

除了将ajax的异步方式改为false,这里我还借用了一个变量b,将ajax中的值取出,否则里面的false根本出不去!!!