此代码正常运作。
tx.executeSql('INSERT INTO Routes (id_object) VALUES (4)');
tx.executeSql("SELECT * FROM Routes", [], function (tx, result)
{ alert(result.rows.item(0)['id_object']) },
function (tx, error) {alert('Неудача');} )};
但这不起作用。 我添加了点击事件。
<button id = "click2">Добавить в БД</button>
function querySuccess(tx, results)
{
$('#click2').click(addObject);
function addObject(tt){
tt.executeSql('INSERT INTO Routes (id_object) VALUES (4)');
tt.executeSql("SELECT * FROM Routes", [],
function (tt, result) { alert(result.rows.item(0)['id_object']) },
function (tt, error) {alert('Неудача');} )
};
为什么?
答案 0 :(得分:2)
事务tx
在函数querySuccess
返回后不久关闭。
当click
处理程序没有有效的事务时,它将在稍后执行。
您必须在click
处理程序中创建一个新事务。