从字典中读取参数时出现“No Message provided”

0 投票
1 回答
590 浏览
提问于 2025-04-18 10:54

我的目标是从查询返回的用户对象中获取参数。这里是我的查询:

Parse.Cloud.define("userData", function(request, response) {
    var query = new Parse.Query("PushUser");

    query.equalTo("userID", request.params.adnUserID);
    query.find({
        success: function(results) {
            console.log(results);
            response.success(results);
        },
        error: function(){
            response.error("user lookup failed")
        }
    });
});

当我打印响应时,使用了 print r.text

{"result":[{"userID":"5253","deviceToken":"1234","pushCode":"a1m1s1r1f1p0","objectId":"bZ3HWMWfVj","createdAt":"2014-06-24T14:01:54.484Z","updatedAt":"2014-06-24T14:02:20.007Z","__type":"Object","className":"PushUser"},
           {"userID":"5253","deviceToken":"5678","pushCode":"a0m0s0r0f0p0","objectId":"SV73ZOSzNC","createdAt":"2014-06-24T13:37:25.369Z","updatedAt":"2014-06-24T13:47:50.689Z","__type":"Object","className":"PushUser"}]}

然后,当我尝试修改我的查询代码以返回一个参数,比如 deviceToken 时,控制台却显示 No Message provided。这是我尝试访问这个参数的方式:

var token = results[0].deviceToken;

然而,当我在 JSFiddle 中直接运行相同的代码(从日志中复制过来的)时,它却能正常工作;

有没有人知道这是怎么回事?

1 个回答

0

发生的事情是,Parse 返回的对象在控制台上看起来像字典。但实际上,它们是容器对象(我猜是这样)。

要访问这些属性:

var name = user.get('name');

我对此有点不太懂。我是一个新的 Objective-C 开发者,习惯了内联调试器和代码自动补全的便利。

撰写回答