websql在循环中插入语句,数据源 - json

时间:2017-03-13 19:10:30

标签: javascript jquery sqlite web-sql

经过几个小时的点击和试用后,这段代码终于在查看各个帖子后获得了帮助。但我希望有人帮我理解功能(i,dat),这意味着什么?以下是我的完整代码 -



function get_assignedtasks_first_time(){
var jdata=$.getJSON( "http://45.114.246.107/quicktask/webservice/admtask.php?entdt=&entusr=SAURABH&company=&taskno=&status=&priority=&primary=", function( data ) {

db.transaction(function (tx) { 

    $.each(data, function(i, dat) {
                tx.executeSql('INSERT INTO tasks (sno, taskdesc) VALUES("'+data[i]['SNO']+'", "'+data[i]['TASKDESC']+'")');
            });
            alert("completed");

}); 
            }); 
}




1 个答案:

答案 0 :(得分:1)

函数#=> ["10.13.203.3", "10.13.204.3", "10.13.205.3", "10.13.206.3", "10.13.207.3", "10.13.208.3", "10.13.209.3", "10.13.210.3"] 包含两个参数。第一个是迭代的数组,第二个是为数组中的每个元素执行的回调函数。

对于数组中的每个元素,$.each将使用两个参数执行此回调函数。第一个参数(您定义为$.each)是当前元素的索引,第二个参数(i)是您为每次迭代查看的实际元素。

对于您定义的功能,您正在提取' SNO'和' TASKDESC'来自数组中每个元素的属性。但是,它看起来不是使用包含当前条目的dat参数,而是使用原始数组(使您的代码更复杂一些)。

实现该功能的另一种方式可能如下所示:

dat

在这种情况下,我们根本不需要使用索引,因为我们正在使用第二个参数(迭代的元素)。