我試圖解析一個字符串到jquery對象,但我沒有得到它在正確的格式。不知道錯誤在哪裏。
我的目標是從數據庫加載數據的把它變成一個對話框,在這裏我可以更新用戶我如何正確使用json和jQuery之間的交互jQuery
我在我的js文件中的POST請求時執行按下一個按鈕:
$.post("index.php", { "id": ID , "action": "edit_row"},
function(input){
console.log(input); //{"id":"1","fname":"Test","lname":"Name"}
console.log(input.id); //undefined
var data = $.parseJSON(input); //Uncaught SyntaxError: Unexpected token
console.log(data); //not possible
console.log(data.id); //not possible
test = {"id":"1","fname":"Test","lname":"Name"};
console.log(test); // I get the object
console.log(test.id); //1
}); // when I use ',"json"' between the brackets nothing happens, no logs are written in console
我的index.php拋出從數據庫返回的加載的字符串:2
我分析了串
$query = "SELECT `id`, `fname` , `lname` FROM `user` WHERE `id`= ".$id; //it's just one row
$result = sql_query($query);
while ($row= mysql_fetch_assoc($result)){
$data = $row;
};
echo json_encode($data);
//php function
function sql_query($query){
$result = mysql_query($query);
if(!$result) {
die("Request Failed: " . mysql_error());
}
return $result;
}
編輯js文件中的響應我發現字符串gehts \ r \ n \ r \ n \ r \ n到最後。即使當我沒有迴應任何從PHP文件...
我認爲在處理ajax請求時,我的index.php中有東西損壞。
我在一個不同的php文件上做了這個請求,在那裏它沒有任何問題。
$.post("test.php", { "id": ID , "action": "edit_row"},
function(input){
console.log(input); // I get the object
console.log(input.id); //1
//testdata below
test = {"id":"1","fname":"Test","lname":"Name"};
console.log(test); // I get the object
console.log(test.id); //1
},"json"); //using ',"json"' is working on the test.php file now
現在,它會很高興地知道爲什麼我得到這些新的生產線,甚至當我不迴應任何事情
但我認爲這並不適合頭部querstion
提示:請勿嘗試手動生成JSON。使用內置的語言功能。 – 2014-09-05 13:57:39
@ʰᵈˑ那種無用的提示,因爲他在php中使用了json_encode。其他的東西只是測試數據,他把它放在 – Pinoniq 2014-09-05 13:58:20
第1行的jQuery文件 - 看起來像他正在用手建造它... – 2014-09-05 13:58:52