2016-01-21 88 views
0

我正在使用Parse为我的后端开发Web应用程序。我也遇到过这个功能的问题:解析查询和表示结果

app.get("https://stackoverflow.com/users/:username", function (req, res) { 
    var query = new Parse.Query(Parse.User); 
    var name = req.params.username.substring(1); 
    query.equalTo("username", "" + name); 
    query.find({ 
    success: function(results) { 
     res.render(results.email); 
    }, 
    error: function() { 
     res.send("failed"); 
    } 
    }); 
}); 

我想从这种类型的JSON文件采取实地电子邮件:

[ 
    { 
     "createdAt":"2016-01-18T20:35:01.015Z", 
     "date":{"__type":"Date","iso":"1995-08-14T00:00:00.000Z"}, 
     "email":"[email protected]", 
     "lastname":"Test", 
     "name":"Tester", 
     "updatedAt":"2016-01-18T20:35:01.015Z", 
     "username":"tester", 
     "objectId":"AoEAt6rUJF" 
    } 
] 

但我的代码不能正常工作,我不能使用结果。我该如何解决它?

+0

你是什么意思的“不工作”?你遇到了什么错误? –

回答

0

resultsParse.Query查询返回的对象是一个Parse.Object对象的数组。这个数组没有email属性,这就是为什么没有渲染。你想要做的是获得results对象中第一项的电子邮件:

query.find({ 
    success: function (results) { 
    // Use 'get' to obtain the value of an attribute. 
    res.send(results[0].get('email')); 
    }, 
    error: function() { 
    res.send("failed"); 
    } 
}); 
+0

谢谢!你的代码工作,如果我使用res.send而不是res.render ...谢谢! –

+0

你能选择这个作为正确的答案,以帮助有此问题的下一个人吗? – gnerkus