2015-10-29 66 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); 
    } 
    }); 
});