【发布时间】:2014-02-14 15:49:05
【问题描述】:
我是 JS 新手,我不得不将它用于 Cloud Code Parse 功能。我有一个名为“user_picture”的类,通过代码我查询所有对象并通过它的“城市”属性。我希望响应是一组独特的城市名称。无论如何,这是我正在处理的代码:
Parse.Cloud.define("cities", function(request, response) {
var query = new Parse.Query("user_picture");
query.find({
success: function(results) {
var cities = new Array();
for (var object in results){
var tempArray = [object.get("city")];
if (cities.length > 0){
for (var i = 0; i < cities.length; i++){
if (cities[i].get("city") == object.get("city")) {
break;
} else if (i == cities.length-1) {
cities = cities.concat(tempArray);
}
}
}
}
response.success (cities);
}, error: function() {
response.error("Error");
}
});});
但是,当我运行此函数时,我收到以下错误:
Error: TypeError: Object 0 has no method 'get'
at query.find.success (main.js:15:30)
at Parse.js:2:5786
at r (Parse.js:2:4981)
at Parse.js:2:4531
at Array.forEach (native)
at Object.E.each.E.forEach [as _arrayEach] (Parse.js:1:666)
at n.extend.resolve (Parse.js:2:4482)
at r (Parse.js:2:5117)
at Parse.js:2:4531
at Array.forEach (native) (Code: 141, Version: 1.2.18)
并且响应返回 null。我尝试从结果数组中打印一个对象,以确保我收到了正确的查询,并且它在城市中打印得很好。可能是什么问题呢?
【问题讨论】:
-
results是什么对象?它告诉你它没有方法get。也许你的意思是object.city? -
哪一行导致错误?
-
@ppoliani 我无法识别错误,因为代码在 Parse.com 服务器上运行。
-
@Mathletics 结果是数组类型。其中的每个对象都是字典类型(iOS 语言)。我试图返回 results[0].get("city") 它返回指定对象的城市