Javascript for循环中特定计数的触发函数
我正在循环中运行sql查询。仅当循环计数等于500时,才应运行查询 例如Javascript for循环中特定计数的触发函数,javascript,jquery,cordova,Javascript,Jquery,Cordova,我正在循环中运行sql查询。仅当循环计数等于500时,才应运行查询 例如 $.ajax({ response:function(e){ // Here e.length will be unknown for(var i in e){ if(q1cnt <= 500){ // do some appending var k = k + 1 ; if(q1cnt == 5
$.ajax({
response:function(e){
// Here e.length will be unknown
for(var i in e){
if(q1cnt <= 500){
// do some appending
var k = k + 1 ;
if(q1cnt == 500){
tx.executeSql(k);
}
}
}
}
})
$.ajax({
答复:职能(e){
//这里e.长度未知
用于(e中的变量i){
如果(q1cnt我仍然不明白为什么每500个对象可能需要从JS执行SQL查询。然而,我可能知道如何实现这一点
看起来您正在使它复杂化,而它可以在没有额外计数器、标志等的情况下解决
以下是通过Ajax请求获取值的周期。
然后,它对每500个数据项和最后一个数据项执行tx.executeSql
$.ajax({
response: function(e)
{
for (var i = 0; i < e.length; i++)
{
if (i % 500 === 0 || i === e.length - 1)
{
tx.executeSql(i);
}
}
}
});
$.ajax({
答复:职能(e)
{
对于(变量i=0;i
您提供了一个非常奇怪的Ajax调用代码部分。如果它是一种“不同”的Ajax,那么就可以了。但是,谈到jQuery Ajax,语法应该如下所示:
$.ajax({
// options
}).done(function(e)
{
for (var i = 0; i < e.length; i++)
{
if (i % 500 === 0 || i === e.length - 1)
{
tx.executeSql(i);
}
}
}
});
$.ajax({
//选择权
}).完成(功能(e)
{
对于(变量i=0;i
注意:我不知道您提供的对象中的响应
属性是什么。ajax
;它是。但我认为您使用它是有原因的,可能是因为某个插件。如果不是,请将下面的响应
更改为成功
你说过e.length
将是“未知的”。我想你的意思是“未知的”,而不是undefined
,而e
实际上是一个数组。如果这是真的:
$.ajax({
response:function(e){
var i;
// Here e.length will be unknown
for (i = 0; i < e.length; ++i) {
if (i <= 500) {
// do some appending
if (i === 500) {
tx.executeSql(i);
}
}
}
}
});
什么是
响应:
?这不是一个标准的$.ajax()
选项。仅供参考,当我看到答案上的接受时,我不记得答案是什么,所以看了看,在我的代码片段中发现了两个严重的错误。很抱歉,它们现在都已修复。是的,但我发现了使用您的代码解决问题的流程,所以我接受了它
$.ajax({
response:function(e){
var i, count;
// Here e.length will be unknown
count = 0;
for (i in e) {
if (count <= 500) {
// do some appending
if (count === 500) {
tx.executeSql(count);
}
}
++count;
}
}
});