2015-11-23 81 views
0

似乎當我試圖從解析數據中檢索信息時我沒有任何問題將用戶表中的信息顯示在我的文檔上,但是當我嘗試查詢另一個對象&使用jQuery使用text();html();val();將其插入到id元素中我或者什麼也沒得到,或者文本變成[object Object]。以下是我寫下的代碼。我也嘗試了一種JavaScript方法&相同的輸出我得到[object Object]。另外,當我控制檯日誌JSON stringify query.get("fieldone")我得到這個。當從解析對象中檢索信息時,解析JavaScript [object,Object]

{ 「_resolved」:假, 「_拒絕」:假, 「_ resolvedCallbacks」:[], 「_ rejectedCallbacks」:[]}

我怎樣才能把它轉換成字符串值我想要檢索。以下是密碼

 var currentUser = Parse.User.current(); 



    if (currentUser) { 
     var UserInfo = Parse.Object.extend("UserInfo"); 
     var query = new Parse.Query(UserInfo); 
     query.equalTo("user", currentUser); 
     query.find({ 
      success: function(UserInfo) { 
      // The object was retrieved successfully. 


      console.log(JSON.stringify(query.get("fieldone"))); 

      document.getElementById('fieldone').innerHTML = query.get("fieldone"); 

      $('#fieldtwo').html(query.get("fieldtwo")); 

      $('#startDate').html(query.get("startdate")); 

      $('#endDate').html(query.get("enddate")); 
     }, 
     error: function(object, error) { 
      // The object was not retrieved successfully. 
      // show alert 
     } 

    }); 

    } 

回答

0

您的成功功能是錯誤的。 query.get做一個查詢,就像query.find,它返回一個承諾(你的console.log顯示它),也應該有一個success函數(他們每個人)。

總之,成功的功能得到你想要查找/查詢對象的對象或數組,試試這個:

success: function(userFound) { 
    // The user was retrieved successfully. 
    console.log(userFound); 
} 

你應該可以看到你的用戶用他的所有屬性。

0

當您調用query.find時,您將收到與您設置的條件相匹配的所有用戶(在ARRAY中)。在這種情況下,它將只是一個用戶。

在這個簡單的例子中,您可以使用GET或FIRST,這樣做更有意義。而且你還應該使用承諾(完成/失敗)而不是回調塊,因爲它們可以鏈接在一起,並提高了可讀性。

而最後的答案是,要獲得字段的值,您應該在OBJECT中使用GET,而不是在查詢中。

所以,我對你的代碼的建議是:

var currentUser = Parse.User.current(); 
if (currentUser) { 
    var UserInfo = Parse.Object.extend("UserInfo"); 
    var query = new Parse.Query(UserInfo); 
    query.get(currentUser.id).done(function(userQueried) { 
     // The object was retrieved successfully. 
     console.log(JSON.stringify(userQueried)); 
     document.getElementById('fieldone').innerHTML = userQueried.get("fieldone"); 
     $('#fieldtwo').html(userQueried.get("fieldtwo")); 
     $('#startDate').html(userQueried.get("startdate")); 
     $('#endDate').html(userQueried.get("enddate")); 
    }).fail(function(error) { 
     // The object was not retrieved successfully. 
     console.log(JSON.stringify(error)); 
    }); 
} 

這就是它!

相關問題