1. 程式人生 > >ajax同步請求,可將回調函式data定義為全域性變數

ajax同步請求,可將回調函式data定義為全域性變數

在使用ajax請求時,如果想要在其它地方使用到請求返回的引數內容,我們可以將ajax設定為同步請求 。

舉個例子:

<script type="text/javascript">
	
	 var login = function(){
		var type = 1;
		var userName = $('#loginForm').find('#userName').val();
		var password = $('#loginForm').find('#password').val();
		password = md5(password) ;
		var url = '<%=basePath %>/appuser/login.aspf';
		
		var nice;//宣告一個全域性變數
		$.ajaxSettings.async = false;//設定為同步請求,可用於將data定義為全域性變數
		$.post(url,{type:type,userName:userName,password:password},function(data){//data:儲存後臺返回的json資料
			if(data != null){
				data = eval("("+data+")");//解析json資料
				if(data.status != 10001){
					if('' != $('#userName').val() && '' != $('#password').val()){
						alert("使用者名稱或密碼錯誤");
					}
					return;
				}else{
					alert("登入成功!");
					nice = data;
				}
			}
		});
		

	    var userId = nice.data.user.id;//使用者ID
        ...
        ...

</script>