gpt4 book ai didi

javascript - JSON.stringify 返回空

转载 作者:行者123 更新时间:2023-11-30 18:31:16 24 4
gpt4 key购买 nike

我正在使用 WebSQL 做一些工作:创建一个对象以通过 ajax 发送到服务器端脚本以完成一些更复杂的工作。我已经阅读了几十篇关于类似任务的教程,但无论出于何种原因,我的代码都会由于 JSON.stringify() 返回一个空对象:

function submit_entries(){
url = "http://myurl.com/process.cfm"
send_data = new Object();
db.transaction(function(tx){
tx.executeSql('SELECT * FROM mytable', [], function(tx, results){
var len = results.rows.length, i;
for(var i = 0; i <len; i++){
send_data["person"+i] = {};
send_data["person"+i].fname = results.rows.item(i).fname;
}
});//end tx.executeSql
});//end db.transaction
send_ajax(send_data);
}

function send_ajax(send_data){
console.log(send_data); // log 1
var send_str = JSON.stringify(send_data);
console.log(send_str); //log 2
console.log($.parseJSON(send_str)); //log 3
/*$.ajax({
url: url,
data: send_str,
type: "post",
contentType: "application/json",
dataType: 'json',
success: function(){
console.log('yay it might have worked.')
}
})*/
}

第一条日志会输出一个对象。第二个是一组空的大括号“{}”,第三个将输出一个空对象。我在没有嵌套的 "person"+i 对象的情况下尝试过这个,并得到了相同的结果。

最佳答案

看起来您的 db.transaction 是异步的。如果是这种情况,它在您到达 send_ajax 调用时不会运行。

尝试将 send_ajax 调用放在 function(tx, results){ ... } 回调中。

关于javascript - JSON.stringify 返回空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9537926/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com