ajax中中返回方法中不能使用this

前端之家收集整理的这篇文章主要介绍了ajax中中返回方法中不能使用this前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
if ($(this).val() != "") {
		if((phoneTest.test(userName)) || (emailTest.test(userName))){
			$.ajax({
				url : "/ZHDM/index/usernameValidateAjax",cache : false,data : {
					userName : $.trim($('#username').val())
				},async : true,error : function(message) {
					alert(message);
					alert("网络异常,请重试");
				},success : function(data) {
					if (data == 'exist') {
						$('#username').next('.ipt_ts1').css({
							"background" : "#ff3300"
					}).children('.txtMsg').text("该用户名注册,请从首页登录");
						userNameExist = true;
					}else{
						$('#username').next('.ipt_ts1').css({
							"background" : "#a6ce38"
						}).children('.txtMsg').text("COOL");
				        userNameExist = false;
					}
				}
			})
		}

比如上面的ajax中的data userName后面的必须是$.trim($('#username').val())而不能是$.trim($(this).val())

用的时候我就是直接照着上面仿照着用,然后出错了,原因后来查资料才知道的,好像是因为这个是闭包吧,我还是不是特别理解,你们自己再去查一下资料,记住这个用法就行了,不要再出错了

猜你在找的Ajax相关文章