我正在用WebSQL做一些工作:創建一個對象,通過ajax發送給服務器端腳本來完成一些更復雜的工作。我讀過類似任務的幾十個教程,但不管是什麼原因,我的代碼返回一個空的對象JSON.stringify(的結果):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.')
}
})*/
}
第一個日誌將輸出的對象。第二個是一組空括號「{}」,第三個將輸出一個空對象。我試過這個沒有嵌套的「人」+我的對象,並得到相同的結果。
順便說一下,使用'{}'文字符號而不是'new Object()' – hugomg 2012-03-02 17:50:24