*Simple* Parse Cloud Code query failure "TypeError: Cannot call method 'get' of undefined\n retrieve that info "
*Simple* Parse Cloud Code query failure "TypeError: Cannot call method 'get' of undefined\n retrieve that info "
几个小时以来,我一直在尝试做一些非常简单的事情,但我不知道自己做错了什么。我很简单地尝试通过 Cloud Code 从我的 Parse 数据集中查询第一个人的用户名,然后我想把它带到我的 iOS 应用程序中。尽管进行了所有尝试,但它似乎并没有奏效。下面你会找到我的代码。
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);
}
}];
我也不应该知道除了 "username :"
之外,我不确定在参数部分要放什么
编辑:此外,当我尝试部署 Parse Cloud 代码时,我得到 "TypeError: Cannot call method 'get' of undefined\n"
查看您的云代码,您希望 request.params.username
包含一个值,您可以使用该值通过 username
在 User
class 中查找] 柱子。我通常通过键访问 params
对象的属性(我不确定这是否需要,我只知道它对我有用)。尝试改变
query.equalTo("username", request.params.username)
到
query.equalTo("username", request.params["username"]);
然后,您需要将该数据导入云函数。您的 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 方法的权限(令人困惑,因为 Parse 文档似乎表明它在其示例中这样做)。因此,结合下面的 rickerbh 的 objective-c 代码执行上述操作得到了我想要的结果。
如果有人能在此处 post 与 Parse 的云代码相关的 .get 方法的性质,将会有所帮助。干杯。
几个小时以来,我一直在尝试做一些非常简单的事情,但我不知道自己做错了什么。我很简单地尝试通过 Cloud Code 从我的 Parse 数据集中查询第一个人的用户名,然后我想把它带到我的 iOS 应用程序中。尽管进行了所有尝试,但它似乎并没有奏效。下面你会找到我的代码。
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);
}
}];
我也不应该知道除了 "username :"
之外,我不确定在参数部分要放什么编辑:此外,当我尝试部署 Parse Cloud 代码时,我得到 "TypeError: Cannot call method 'get' of undefined\n"
查看您的云代码,您希望 request.params.username
包含一个值,您可以使用该值通过 username
在 User
class 中查找] 柱子。我通常通过键访问 params
对象的属性(我不确定这是否需要,我只知道它对我有用)。尝试改变
query.equalTo("username", request.params.username)
到
query.equalTo("username", request.params["username"]);
然后,您需要将该数据导入云函数。您的 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 方法的权限(令人困惑,因为 Parse 文档似乎表明它在其示例中这样做)。因此,结合下面的 rickerbh 的 objective-c 代码执行上述操作得到了我想要的结果。
如果有人能在此处 post 与 Parse 的云代码相关的 .get 方法的性质,将会有所帮助。干杯。