*简单*parsing云代码查询失败“TypeError:无法调用未定义的方法'get'\ n检索该信息”

我一直试图做几个小时很简单的事情,我不知道我做错了什么。 我很简单,试图从我的parsing数据集中通过云代码查询第一人的用户名,然后我想把它带到我的iOS应用程序。 尽pipe所有的尝试似乎没有工作。 下面你会发现我的代码。

Parse.Cloud.define("userName", function(request,response){ var query = new Parse.Query(Parse.User); query.equalTo("username", request.params.username) query.first({ success: function(getUserName) { var userString = getUserName.get("username"); response.success(userString); }, error: function(error) { alert("Error: " + error.code + " " + error.message); } }); }); [PFCloud callFunctionInBackground:@"userName" withParameters:@{} block:^(NSString *result, NSError *error) { if (!error){ NSLog(result); } }]; 

我也不应该说我除了“用户名:”之外还要在“参数”部分放置什么

编辑:此外,当我尝试部署parsing云代码时,我得到“types错误:无法调用方法”得到未定义\ n“

看着你的云代码,你希望request.params.username包含一个你可以用来在User类中查找的值,通过username列。 我通常通过一个键访问params对象的属性(我不知道这是否是必需的,我只知道它适用于我)。 尝试改变

 query.equalTo("username", request.params.username) 

 query.equalTo("username", request.params["username"]); 

然后,您需要将这些数据导入云端function。 你的Objective-C代码中传入了一个空的参数块,所以在那里查找任何东西都会导致一大堆什么都没有。 改变您的PFCloud呼叫

 [PFCloud callFunctionInBackground:@"userName" withParameters:@{@"username": @"theusernameyouwanttolookup"} block:^(NSString *result, NSError *error) { 

希望你会有更好的运气。

弄清楚了。 我的错误来自对Javascript的理解。

下面的云代码得到了我想要的。

 Parse.Cloud.define("userName", function(request,response){ var query = new Parse.Query(Parse.User); query.equalTo("username", request.params.username); query.first({ success: function(object) { var userString = request.params.username; response.success(userString); }, error: function(error) { alert("Error: " + error.code + " " + error.message); } }); }); 

我所做的错误是我试图对没有访问所述方法的对象使用“.get”方法。 奇怪的是我试图用request.object.get("username")做同样的事情,但显然请求对象也没有访问.get方法(令人困惑,因为parsing文档似乎表明它在它的例子)。 因此,结合rickerbh的下面的objective-c代码,让我得到了我期待的结果。

如果有人可以在这里发表有关Parse的云代码的.get方法的性质,这将有所帮助。 干杯。