Javascript 解析CloudCode函数不工作。我调用它时出错

Javascript 解析CloudCode函数不工作。我调用它时出错,javascript,objective-c,xcode,parse-platform,cloud,Javascript,Objective C,Xcode,Parse Platform,Cloud,CloudCode功能是: Parse.Cloud.define('addFriend', function(request, response) { var userId = request.params.userId; var User = Parse.Object.extend('_User'), user = new User({ objectId: userId }); var currentUser = request.user; var

CloudCode功能是:

Parse.Cloud.define('addFriend', function(request, response) {
   var userId = request.params.userId;

   var User = Parse.Object.extend('_User'),
       user = new User({ objectId: userId });

   var currentUser = request.user;

   var relation = user.relation("Friends");
   relation.add(currentUser);

   Parse.Cloud.useMasterKey();
   user.save().then(function(user) {
       response.success(user);
   }, function(error) {
    response.error(error)
   });
});
当我用PFCloud调用从Xcode调用它时。。。。我在控制台中得到下一个错误:

[Error]: ReferenceError: parent is not defined
at e.n.value (Parse.js:13:7510)
at main.js:10:14 (Code: 141, Version: 1.8.2)
这意味着实际问题是该关系没有父关系。它应该已经有了'user'变量作为父变量,因为我正在调用user.relation(“Friends”),这就是文档所说的:“您很少应该手动设置父变量,因为您很可能要调用Parse.Object.relation('key')。”这就是我正在做的

更新

即使是这段代码也会出现同样的错误:

 Parse.Cloud.define("addFriend", function(request, response) {
    Parse.Cloud.useMasterKey();

    var currentUser = request.user;
    var relation = currentUser.relation("Friends");
    relation.add(currentUser);
});
更新2:

用户JSON

{
   "FriendRequests": {
    "__type": "Relation",
    "className": "_User"
},
   "Friends": {
    "__type": "R‌​elation",
    "className": "_User"
},
"createdAt": {
    "__type": "Date",
    "iso": "2015-09-10T17:29‌​:03.181Z"
},
"sessionToken": "r:KkmTu7xRjTEFpl0vcANVf0xXH",
"updatedAt": {
   "__type": "Dat‌​e",
   "iso": "2015-09-10T17:29:03.181Z"
 },
 "username": "bogdan12",
 "objectId": "BmbNRxCyau‌​"
}

关系JSON

{
    "__type": "Relation",
    "className": "_User"
}
尝试替换:

var User = Parse.Object.extend('_User'),
    user = new User({ objectId: userId });
与:

    user = new Parse.User.createWithoutData(userId);
编辑:

这对我来说很好。。。以下是我尝试过的:

云:

Parse.Cloud.define('addFriend', function(request, response)
{
    var currentUser = request.user;
    var userId = request.params.userId;
    var user = new Parse.User.createWithoutData(userId);

    var relation = user.relation("Friends");
    relation.add(currentUser);

    Parse.Cloud.useMasterKey();
    user.save().then(function(user) {
        response.success(user);
    }, function(error) {
        response.error(error)
    });
});
客户:

[PFCloud callFunctionInBackground:@"addFriend" withParameters:@{@"userId":@"s8BMHtnqSZ"} block:^(id object, NSError *error) {
    if (!object || error) {
        LogError(error, @"Calling addFriend failed.");
    } else {
        LogInfo(@"Calling addFriend succeeded.");
    }
}];

也许您应该在此处提交错误报告:

在编辑关系之前,您可能需要先获取用户。请查看更新。。。这可能是一个Parse.Relation错误吗?你能记录currentUser和Relation的内容(使用toJSON())并告诉我错误是哪一行吗?E2015-09-13T15:56:01.819Z]v55为用户BmbNRxCyau运行云函数editUser,输入:{“userId:“14xJE7rFOQ”}结果:ReferenceError:Parse.js:13:7510未在e.n.value处定义父项在main.js:10:14
cd
进入您的云代码目录,运行
parse jssdk 1.5.0
parse deploy
。如果您使用的是windows,则可能会有所不同,请检查此处: