Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript for循环中特定计数的触发函数_Javascript_Jquery_Cordova - Fatal编程技术网

Javascript for循环中特定计数的触发函数

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

我正在循环中运行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 == 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;
        }
    }
});