如何在phoneGap api中使javascript变量全局化
How to make javascript variable global in phoneGap api
我现在正在学习如何使用phonegap,学习进展顺利,但我被phoneGap Api中的全局变量所困扰。实际上,首先我从xml文件中获取结果,然后将数据插入数据库。我已经完成了这项工作,但现在我想获取插入行的最后一个 id,然后插入到另一个表中,因为在 xml 中有子节点。
function populateDB(tx) {
tx.executeSql('DROP TABLE IF EXISTS fruit');
tx.executeSql('DROP TABLE IF EXISTS fruit_benefit');
tx.executeSql('CREATE TABLE IF NOT EXISTS fruit (id INTEGER NOT NULL PRIMARY KEY, fname,fsname,fruit_icon,fruit_image)');
tx.executeSql('CREATE TABLE IF NOT EXISTS fruit_benefit (id INTEGER NOT NULL PRIMARY KEY, benefit, fruit_id)');
$.ajax({
type: "GET",
url: "data.xml",
dataType: "xml",
success: function(xml) {
$(xml).find('fruit').each(function(){
var fname = $(this).find('fname').text();
var fsname = $(this).find('fsname').text();
var fruit_icon = $(this).find('fruit_icon').text();
var fruit_image = $(this).find('fruit_image').text();
//$('<div class="items" id="link_'+fname+'"></div>').html('<a href="'+fsname+'">'+fname+'</a>').appendTo('#lbUsers');
db.transaction(function(transaction) {
transaction.executeSql('INSERT INTO fruit (fname,fsname,fruit_icon,fruit_image) VALUES (?,?,?,?)',[fname, fsname, fruit_icon, fruit_image],function(transaction, results){
var lastId = results.insertId;
},nullHandler,errorHandler);
});
alert(lastId);
});
}
});
}
var lastId = results.insertId; //The last inserted id is shown here.
alert(lastId); //I want to show last inserted id here
我做了什么。
JavaScript全局变量,本地存储,但两者都不起作用。
你甚至不需要它是全局的。在函数中定义 lastId,但在 foreach 之前。如果这不起作用,那么通过移动 var lastId 使其全局应该真正有效;函数填充数据库()
function populateDB(tx) {
tx.executeSql('DROP TABLE IF EXISTS fruit');
tx.executeSql('DROP TABLE IF EXISTS fruit_benefit');
tx.executeSql('CREATE TABLE IF NOT EXISTS fruit (id INTEGER NOT NULL PRIMARY KEY, fname,fsname,fruit_icon,fruit_image)');
tx.executeSql('CREATE TABLE IF NOT EXISTS fruit_benefit (id INTEGER NOT NULL PRIMARY KEY, benefit, fruit_id)');
$.ajax({
type: "GET",
url: "data.xml",
dataType: "xml",
success: function(xml) {
var lastId;
$(xml).find('fruit').each(function(){
var fname = $(this).find('fname').text();
var fsname = $(this).find('fsname').text();
var fruit_icon = $(this).find('fruit_icon').text();
var fruit_image = $(this).find('fruit_image').text();
//$('<div class="items" id="link_'+fname+'"></div>').html('<a href="'+fsname+'">'+fname+'</a>').appendTo('#lbUsers');
db.transaction(function(transaction) {
transaction.executeSql('INSERT INTO fruit (fname,fsname,fruit_icon,fruit_image) VALUES (?,?,?,?)',[fname, fsname, fruit_icon, fruit_image],function(transaction, results){
lastId = results.insertId;
},nullHandler,errorHandler);
});
alert(lastId);
});
}
});
}
相关文章:
- 将函数的上下文应用于javascript变量
- 如何通过ajax刷新JSF填充的javascript变量
- Javascript变量赋值|
- 限制javascript变量的最小/最大整数
- 来自文本输入null的html javascript变量
- 访问jsrender模板中的全局javascript变量并更新它
- 从数据库中获取数据并插入JavaScript变量
- 如何将javascript变量传递到Meteor Spacebars模板中
- 将JavaScript变量保存到Rails模型
- 在if语句下的html中使用javascript变量
- Javascript变量分配-按类别
- 操作javascript变量[HTML]以只显示文本
- 无法比较javascript变量
- 如何将smarty变量与javascript变量进行比较
- 如何使用PHP将javascript变量添加到mysql数据库中
- Javascript 变量使用 jquery 查找变量
- 重新加载页面时Javascript变量发生变化
- 在asp classic中使用javascript变量
- 全局Javascript变量变为null
- 如何向服务器端提交javascript变量