我面临的问题非常特殊。当我从 SERVER-WEB 控制台收到消息时,我想要的值是可见的。但是,当我将它输入 for 循环时,它显示了一个错误05-22 18:58:23.203: I/Web Console(29392): JSCallback Error: TypeError: Cannot read property 'value' of undefined at file:///android_asset/www/cordova-2.1.0.js:3727
。这意味着我的查询是正确的。我在检索数据的 for 循环中犯了一些错误。
我是电话间隙的新手并使用 JavaScript 编码。我在执行它时有疑问和问题。我在我的项目中使用 sqlite 数据库。
我的表结构几乎是这样的
id cid values
1 1 value1
2 1 value2
3 1 value3
4 1 value4
5 2 value1
6 2 value2
7 3 value1
8 3 value2
9 3 value3
所以我想要同一个cid的所有值,我应该如何编码?
我的查询:
tx.executeSql("SELECT cid,value FROM table where cid="+cid_value, [], querySuccess, errorCB,cid_value);
因为,当我尝试以下方式时,
var details = results.rows.length;
console.log("db test value:"+results.rows.item(cid_value).value);
for (var i=cid_value; i<details; i++)
{
cidinstance=results.rows.item(i).cid;
var valueinstance=results.rows.item(i).value;
document.getElementById("s"+i+"cause").innerHTML=valueinstance;
console.log("cid= "+cidinstance + "valueinstance= "+valueinstance);
}
然后当 i=cid_value(cid_value=1)以 cid=1 为目标时,我们有四个值,我只得到3 个值。但是,如果我输入i=0,那么我得到4 个值
当i=cid_value(cid_value=2)以 cid=2 为目标时,我得到以下信息
01-01 05:45:38.687: I/Web Console(2425): JSCallback: 来自服务器的消息: SQLitePluginTransaction.queryCompleteCallback('1104538538488000','1104538538491000', [{"value":"value1","cid":" 2"},{"value":"value22","id":"6","cid":"2"}]); 在文件:///android_asset/www/cordova-2.1.0.js:3726。
问题是,当我从服务器获取消息作为 JS 回调时,我正在获取值。不是来自 for 循环
请给我建议解决问题的方法!指导我找到出路。