Javascript stringify返回空
我正在使用WebSQL做一些工作:创建一个对象,通过ajax发送到服务器端脚本,以完成一些更复杂的工作。我已经阅读了几十篇关于类似任务的教程,但不管出于什么原因,我的代码返回一个空对象作为JSON的结果。stringify()Javascript stringify返回空,javascript,json,Javascript,Json,我正在使用WebSQL做一些工作:创建一个对象,通过ajax发送到服务器端脚本,以完成一些更复杂的工作。我已经阅读了几十篇关于类似任务的教程,但不管出于什么原因,我的代码返回一个空对象作为JSON的结果。stringify() 函数提交_条目(){ url=”http://myurl.com/process.cfm" 发送_数据=新对象(); 数据库事务(功能(tx){ tx.executeSql('从mytable中选择*,[],函数(tx,结果){ var len=results.rows.
函数提交_条目(){
url=”http://myurl.com/process.cfm"
发送_数据=新对象();
数据库事务(功能(tx){
tx.executeSql('从mytable中选择*,[],函数(tx,结果){
var len=results.rows.length,i;
for(var i=0;i看起来您的db.transaction是异步的。如果是这种情况,那么在您到达send\u ajax调用时,它将不会运行
尝试将send_ajax调用放入函数(tx,results){…}
回调中。顺便说一句,使用{}
文字符号,而不是new Object()
等待计时器atm;绝对不会忘记!
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.')
}
})*/
}