2014-02-14 53 views
1

我想不必成爲「當前用戶」來獲得用戶的電子郵件地址。Parse.User讀取用戶信息,如果沒有當前用戶

var query = new Parse.Query(Parse.User); 
query.equalTo("objectId", "8Vv6axJ"); 
query.find({ 
success: function(object) { 
var username = object.get("username"); 
    alert(username);          
    } 
});  

似乎我無法理解它。文件似乎說我應該能夠得到它。似乎不喜歡var = username行。謝謝。

稍後編輯:那麼,每建議,我改成代碼:

var query = new Parse.Query(Parse.User); 
query.equalTo("objectId", "cx1ha3YPZj"); 
query.find({ 
    success: function(results) { 
     alert(results.length);  
     for (var i = 0; i < results.length; i++) { 
      var username = results[i].get("username"); 
     }  

results.length爲0。我知道objectID是正確的,從Parse Browser複製。

好的。以下是我已經確定:

看來,雖然在解析文檔說,任何用戶都可以讀取用戶數據,以下是矛盾。因此,User的以下ACL表示只有用戶可以讀寫它。如果你試圖改變ACL在Parse.User,當你刷新,它改變回原來的ACL。

{ 「cx1ha3YPZj」:{ 「讀」:真實的, 「寫」:真正}}

parse ACL link

Parse.ACL(ARG1) 創建一個新的ACL。如果沒有給出任何參數,ACL對任何人都沒有權限。如果參數是Parse.User,那麼ACL將只具有對該用戶的讀寫權限。

+0

你在控制檯得到一個錯誤? –

+0

都能跟得上...沒有 – hypermiler

回答

0

對象是在幾個瀏覽器中的一個保留名稱。這可能是你得到錯誤的原因。改變object到別的東西應該解決問題。

也導致將返回類似的結果數組:

var query = new Parse.Query(Parse.User); 
query.equalTo("objectId", "8Vv6axJ"); 
query.find({ 
    success: function(results) { 
     alert(results.length);  
     for (var i = 0; i < results.length; i++) { 
      var username = results[i].get("username"); 
     }       
    } 
}); 
+0

在哪些瀏覽器是一個對象的保留字? –

+0

我以爲IE7,但我不知道。在文檔中找不到它。 – Niels

+0

嗯。那麼,你的想法使用results.length結果爲0.現在,一些東西。我知道objectId是正確的....我已經做了這一千次。 – hypermiler

相關問題