Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/383.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-WebSQL数据库_Javascript_Web Sql - Fatal编程技术网

JavaScript-WebSQL数据库

JavaScript-WebSQL数据库,javascript,web-sql,Javascript,Web Sql,我下面的代码有问题 db=openDatabase('mydb','1.0','myfirst database',5*1024*1024); 如果(!db){alert(“连接到数据库失败”);} 否则{ 函数doQuery(查询类型,查询){ 函数errorHandler(tr,错误){ 警报('Oops.Error为:'+Error.message+'(代码'+Error.Code+')); 我们认为这个错误是致命的=正确; 如果(我们认为这个错误是致命的)返回true; 返回false;

我下面的代码有问题

db=openDatabase('mydb','1.0','myfirst database',5*1024*1024);
如果(!db){alert(“连接到数据库失败”);}
否则{
函数doQuery(查询类型,查询){
函数errorHandler(tr,错误){
警报('Oops.Error为:'+Error.message+'(代码'+Error.Code+'));
我们认为这个错误是致命的=正确;
如果(我们认为这个错误是致命的)返回true;
返回false;
}
如果(查询类型==“选择”){
函数dataHandler(tr,rs){alert(“1”)}
事务(函数(tr){tr.executeSql(查询,[],数据处理程序,错误处理程序)})
}
否则{
函数dataHandler(tr,rs){alert(“2”)}
事务(函数(tr){tr.executeSql(查询,[],数据处理程序,错误处理程序)})
}
}//doquery
}//否则
数据库、表和记录已经插入,因此,当我在mypage中调用它时:


我得到的是警报(2)而不是警报(1),为什么


txtarea.value
当然是
textarea
对象,那么有什么问题吗?

我会从第一个else块中删除所有函数定义(去掉那个else)。将第二个dataHandler函数的名称更改为dataHandler2,然后查看结果。

对于初学者,您可能希望缩进代码,使其可读。另外,为什么要在doQuery函数中声明errorHandler函数?这没有任何意义。我试着把它放在每种情况下,但没有任何成功。它工作得很好,但只有当我一次只在doQuery中使用一个datahandler时,如果我声明更多的datahandler,它将始终最后执行(好像我没有将它们放入条件中),只是不知道它是如何工作的我还在doQuery的开头添加了“alert((queryType==“SELECT”)”来检查返回的内容,它工作得很好,但在这之后,它总是输出警报(2),在这里它似乎需要一种特定的方法来使用js数据库api,我无法解释它