2015-10-29 71 views
1

昨天我得到了這個問題,無法自己解決。解析雲結果對象爲空

這裏是我的parse.com雲代碼:

Parse.Cloud.define("getWorkerInfo", function(request, response) { 
    Parse.Cloud.useMasterKey(); 
    var userQuery = new Parse.Query(Parse.User); 
    userQuery.equalTo(request.params.userObjectId); 
    userQuery.select("firstName", "lastName", "username"); 
    userQuery.first({ 
    success : function(result){ 
     var currentUser = { 
     "firstName" : result.firstName, 
     "lastName" : result.lastName, 
     "username" : result.username 
     }; 
     response.success(currentUser); 
    }, 
    error : function(error){ 
     response.error(error); 
    } 
    }); 
}); 

,並導致以Chrome瀏覽器開發工具命令:

result : {} 

此代碼使用從第一碼結果寫了這樣一個問題:

function get(userObjectId) { 
    Parse.Cloud.run("getWorkerInfo", { "userObjectId" : userObjectId }, { 
     success: function(result){ 
      return result; 
     } 
     , 
     error : function(err){ 
      console.log(err); 
     } 
    }); 
} 

我也更改爲響應數據 - 用戶查詢直接。 響應動作沒問題。

,但不能檢索到的本身:

result = ParseUser {_objCount: 2, className: "_User", id: "iNneJil9XW"} 

我錯過了什麼,我能找到回答這個問題?

回答

0

謝謝Clark,在這個問題上有很多事情要做。嘗試對結果進行硬編碼,以確保執行流程/路徑正確並且環境設置正確。例如,

Parse.Cloud.define("getWorkerInfo", function(request, response) { 

    Parse.Cloud.useMasterKey(); 
    var userQuery = new Parse.Query(Parse.User); 
    userQuery.equalTo(request.params.userObjectId); 
    userQuery.select("firstName", "lastName", "username"); 
    userQuery.first({ 
    success : function(result){ 
     response.success("1234"); 
    }, 
    error : function(error){ 
     response.error(error); 
    } 
    }); 
});