Javascript 如何将ajax调用输出添加/组合到mysql insert查询?

Javascript 如何将ajax调用输出添加/组合到mysql insert查询?,javascript,mysql,json,ajax,database,Javascript,Mysql,Json,Ajax,Database,我尝试使用ajax调用从一个数据库检索数据,然后将数据放入insert查询中,以便将其添加到新数据库中。php mysql到phonegap本地数据库。这是我需要合并的两个代码。ajax代码目前只是输出到一个表中,我这样做只是为了看看它是否正常工作。javascript函数可以工作并添加到数据库中 jQuery(document).ready(function(){ jQuery.ajax({ url : "http://cmlsys/toby/fetchdata.php",

我尝试使用ajax调用从一个数据库检索数据,然后将数据放入insert查询中,以便将其添加到新数据库中。php mysql到phonegap本地数据库。这是我需要合并的两个代码。ajax代码目前只是输出到一个表中,我这样做只是为了看看它是否正常工作。javascript函数可以工作并添加到数据库中

jQuery(document).ready(function(){


jQuery.ajax({
    url : "http://cmlsys/toby/fetchdata.php",
    type : "POST",
    dataType : "json",
    data : "param=no",
    success : function (html){


        jQuery.each(html, function(key, value){

        $("table#DOM").append('<tr><td>'+value.CurrencyCode+'</td></tr>');

        });


    }, error : function (e){

        alert(e);

    }


});
}

}

这是我所有的代码-

var-db; var dbCreated=false; var scroll=newiscroll'wrapper',{vScrollbar:false,hScrollbar:false,hScroll:false}; document.addEventListenerdeviceready、onDeviceReady、false; 代理功能{ db=window.openDatabaseEmployeeDirectoryDB,1.0,PhoneGap演示版,200000; 如果创建了数据库 db.transactiongetEmployees,事务处理错误; 其他的 db.transactionpopulateDB,事务错误,已填充B\U成功; } 函数事务_errortx,错误{ $‘忙’。隐藏; alertDatabase错误:+错误; } 函数填充B_成功{ dbCreated=true; db.transactiongetEmployees,事务处理错误; } 函数getEmployeestx{ var sql=从员工处选择id、CurrencyCode+; tx.executeSqlsql,[],getEmployees\u success; } 函数getEmployees\u successtx,结果{ $‘忙’。隐藏; var len=results.rows.length;
对于var i=0;i您可以在成功闭包中将ajax成功数据传递给populateDB函数。请检查下面的代码。我猜您的tx是一个全局变量

    var db;
var dbCreated = false;

var scroll = new iScroll('wrapper', {
    vScrollbar: false,
    hScrollbar: false,
    hScroll: false
});

document.addEventListener("deviceready", onDeviceReady, false);

function onDeviceReady() {
    db = window.openDatabase("EmployeeDirectoryDB", "1.0", "PhoneGap Demo", 200000);
    if (dbCreated) db.transaction(getEmployees, transaction_error);
    else CallAjax();
}

function transaction_error(tx, error) {
    $('#busy').hide();
    alert("Database Error: " + error);
}

function populateDB_success() {
    dbCreated = true;
    db.transaction(getEmployees, transaction_error);
}


function getEmployees(tx) {
    var sql = "select id, CurrencyCode from employee";
    tx.executeSql(sql, [], getEmployees_success);
}


function getEmployees_success(tx, results) {

    $('#busy').hide();
    var len = results.rows.length;
    for (var i = 0; i < len; i++) {
        var employee = results.rows.item(i);

        $('#employeeList').append('<p class="line2">' + employee.CurrencyCode + '</p>');
    }

    setTimeout(function () {
        scroll.refresh();
    }, 100);
    db = null;
}


function CallAjax() {
    jQuery.ajax({
        url: "http://cmlsys/toby/fetchdata.php",
        type: "POST",
        dataType: "json",
        data: "param=no",
        success: function (html) {
            $('#busy').show();
            db.transaction(function (tx) {
                tx.executeSql('DROP TABLE IF EXISTS employee');
                var sql =
                    "CREATE TABLE IF NOT EXISTS employee ( " +
                    "id INTEGER PRIMARY KEY AUTOINCREMENT, " +
                    "CurrencyCode VARCHAR(50))";

                tx.executeSql(sql);
                var values = jQuery.map(html, function (val, i) {
                    return "('" + val.CurrencyCode + "')";
                }).join(',');

                tx.executeSql("INSERT INTO employee (id,CurrencyCode) VALUES " + values);
            }, transaction_error, populateDB_success);

        },
        error: function (e) {
            alert(e);
        }
    });
}

请帮助人们我所有的努力都失败了:谢谢你的帮助看起来不错,但是。我不想在成功中显示任何东西,我只是想看看Ajax是否工作。我想使用我刚才添加的代码从新数据库中检索数据。@rapidwaters如果你不想看到任何显示,只需删除e或注释表追加到成功函数中。非常感谢:@ram hemasri继续获取此“未捕获引用错误:未定义tx”@ram hemasri您是否可以发布所有代码?似乎您的tx可能已声明超出范围
function populateDB(tx) {
$('#busy').show();
tx.executeSql('DROP TABLE IF EXISTS employee');
var sql = 
    "CREATE TABLE IF NOT EXISTS employee ( "+
    "id INTEGER PRIMARY KEY AUTOINCREMENT, " +
    "CurrencyCode VARCHAR(50))";

tx.executeSql(sql);


tx.executeSql("INSERT INTO employee (id,CurrencyCode) VALUES (1,'**THE AJAX RETURN**')");
    var db;
var dbCreated = false;

var scroll = new iScroll('wrapper', {
    vScrollbar: false,
    hScrollbar: false,
    hScroll: false
});

document.addEventListener("deviceready", onDeviceReady, false);

function onDeviceReady() {
    db = window.openDatabase("EmployeeDirectoryDB", "1.0", "PhoneGap Demo", 200000);
    if (dbCreated) db.transaction(getEmployees, transaction_error);
    else CallAjax();
}

function transaction_error(tx, error) {
    $('#busy').hide();
    alert("Database Error: " + error);
}

function populateDB_success() {
    dbCreated = true;
    db.transaction(getEmployees, transaction_error);
}


function getEmployees(tx) {
    var sql = "select id, CurrencyCode from employee";
    tx.executeSql(sql, [], getEmployees_success);
}


function getEmployees_success(tx, results) {

    $('#busy').hide();
    var len = results.rows.length;
    for (var i = 0; i < len; i++) {
        var employee = results.rows.item(i);

        $('#employeeList').append('<p class="line2">' + employee.CurrencyCode + '</p>');
    }

    setTimeout(function () {
        scroll.refresh();
    }, 100);
    db = null;
}


function CallAjax() {
    jQuery.ajax({
        url: "http://cmlsys/toby/fetchdata.php",
        type: "POST",
        dataType: "json",
        data: "param=no",
        success: function (html) {
            $('#busy').show();
            db.transaction(function (tx) {
                tx.executeSql('DROP TABLE IF EXISTS employee');
                var sql =
                    "CREATE TABLE IF NOT EXISTS employee ( " +
                    "id INTEGER PRIMARY KEY AUTOINCREMENT, " +
                    "CurrencyCode VARCHAR(50))";

                tx.executeSql(sql);
                var values = jQuery.map(html, function (val, i) {
                    return "('" + val.CurrencyCode + "')";
                }).join(',');

                tx.executeSql("INSERT INTO employee (id,CurrencyCode) VALUES " + values);
            }, transaction_error, populateDB_success);

        },
        error: function (e) {
            alert(e);
        }
    });
}