我的表“产品”包含完整字段。我尝试找到并获得某些条件的值。这是javascript文件
var APPLICATION_ID = "id",
SECRET_KEY = "key",
VERSION = "v1";
Backendless.initApp(APPLICATION_ID, SECRET_KEY, VERSION);
function Products(args) {
args = args || {};
this.id_user = args.id_user || "";
this.cal = args.cal || null;
this.id_day = args.id_day || null;
this.id_product = args.id_product || null;
this.nameProduct = args.nameProduct || "";
}
var productStorage = Backendless.Persistence.of( Products );
var query = {
condition : "id_day = 33"
}
function get(){
try{
var product = productStorage.find(query).data;
}catch( e )
{
if( e.code != 1009 )
alert(e.message);
}
return [];
}
var array = get();
alert(array[0]);
在警告信息中我只是“未定义”。而且函数“get()”中的catch块也没有问题。
答案 0 :(得分:2)
现在你总是返回一个空数组,即使你的查询找到了一个产品 - 一个空数组在索引中没有任何内容' 0'因此你得到了#undefined&#39 ;
尝试添加
return product;
,在您查询之后立即获取()。
使用console.log
代替alert
可以更轻松地进行调试 - 您需要打开浏览器的javascript控制台才能看到它:
console.log(array)
如果您确实选择使用alert
,则将值转换为JSON可以提供帮助:
alert(JSON.stringify(array));
答案 1 :(得分:0)
感谢Backendless团队,他们帮我解决了这个问题。所以我的代码:
var APP_ID = "id",
SECRET_KEY = "key",
VERSION = "v1";
function Products(args) {
args = args || {};
this.id_user = args.id_user || "";
this.cal = args.cal || null;
this.id_day = args.id_day || null;
this.id_product = args.id_product || null;
this.nameProduct = args.nameProduct || "";
}
var dataQuery = {
condition: "id_day = 33"
};
function fetchingFirstPageAsync(){
var products = Backendless.Persistence.of(Products).find(dataQuery);
for(var i = 0; i < products.data.length; i++) {
console.log("Product name = " + products.data[i].nameProduct);
}
}
Backendless.initApp( APP_ID, SECRET_KEY, VERSION );
fetchingFirstPageAsync();