关于jquery ajax 同异步问题

回头看看项目,想要使用ajax来验证用户账号密码,之前是使用jquery ajax的,但是ajax默认异步的,搞到没法同步获得内容,

途中有想过使用while死循环来等待ajxa回值,但是不是很好。后面看了一篇文章,原来只用加一个参数就可以了anync。

以下是我的javascript

$(function(){
	$("#login_form").submit(
			function(){
				
				var checkText1 = $("#username").val();
				var checkText2 = $("#password").val();
				
				var flag;
				
				$.ajax({
					type : "post",
					url : "login.action",
					data : {
						'user.name' : checkText1,
						'user.password' : checkText2
					},
					dataType : "text",
					async:false,//加上这个,使之同步。
					success : function(json) {
						var obj = $.parseJSON(json);
						flag = obj;
					},
					error : function(json) {
						alert("请重试!");	
					}
				});
		
				if(!flag){
					art.dialog('账号密码有误,请重新输入!');
				}
				
				return flag;
			}
		
	);
});

后面查了下jquery 1.8的api,也能找到。看来要多点查查api.没事多看看

asyncBoolean

(默认: true) 默认设置下,所有请求均为异步请求。如果需要发送同步请求,请将此选项设置为 false。注意,同步请求将锁住浏览器,用户其它操作必须等待请求完成才可以执行。



你可能感兴趣的:(JavaScript,jquery,Ajax,json,function,浏览器)