*简单*解析云代码查询失败”;TypeError:无法调用方法'获取'未定义的“检索该信息”;

*Simple* Parse Cloud Code query failure "TypeError: Cannot call method 'get' of undefined retrieve that info "

本文关键字:获取 未定义 信息 检索该信息 检索 方法 简单 代码 查询 TypeError 失败      更新时间:2023-09-26

几个小时以来,我一直在尝试做一些非常简单的事情,但我不知道自己做错了什么。我只是简单地尝试通过云代码从我的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);
        }
    }];

我也不应该说,除了"用户名:"之外,我不确定在参数部分放什么

编辑:此外,当我尝试部署解析云代码时,我得到"TypeError:无法调用未定义的方法'get'"

查看您的云代码,您希望request.params.username包含一个值,您可以使用该值通过username列在User类中查找。我通常通过一个键访问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代码进行上述操作,得到了我想要的结果。

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