2012-03-10 82 views
0

嗨,我是jquery/javascript的新手。我創建了一個全局變量。我將這個變量的值設置爲這樣的函數內部值:如何在JQuery中設置全局變量/ javascript

var arr; 
CreatecheckPassword: function() { 

       var pas = document.getElementById("pos-password") 

       var user = new db.web.Model("res.users").get_func("read")(this.session.uid, ['password']).pipe(function(result) { 
        arr = result.password; 
        alert(arr);//prints the expected value 
       }); 
       alert(arr);//prints nothing 
}, 

我不知道我在哪裏做錯了。我努力嘗試,但無法找到解決方案。有人可以幫忙嗎?

+0

你有一對夫婦的語法錯誤... – elclanrs 2012-03-10 09:13:23

+2

我猜想,你的數據庫訪問功能是異步的,這意味着控制繼續時執行的回調之前打印任何警告和'arr'變量已設置。 – nnnnnn 2012-03-10 09:16:40

+0

那我該如何設置這個變量的值。不能沒有數據庫操作。 – Inventillect 2012-03-10 09:21:49

回答

1

jslint或jshint是你的朋友。獲取並在代碼中使用它來獲取lint消息。

enter image description here

+0

低端選項使用在線jshint:http://www.jshint.com/ – 2012-03-10 12:42:47

+0

但是沒有任何錯誤/顯示的警告與問題有關,確實問題不是由語法錯誤造成的...... – nnnnnn 2012-03-10 14:26:11

+0

問題沒有在問題中說明,那麼。事實上,最初的問題根本不清楚問題的性質。此外,該帖子的標題是錯誤的 - 問題不在於如何「設置全局變量」。閱讀評論,這是關於ajax的異步調用,我想。 – Cheeso 2012-03-10 17:01:29