[英]Parse JSON in JQuery and set in inputs
我正在實施一個Web,我需要使用AJAX + JQuery來完成一些字段而不給頁面充電。 我對其進行了測試,並且可以正常工作,但是當我嘗試使用真實的JSON(由MySQL創建)時,我無法解析它。
JSON的格式是這樣的:
[
{
"ID":"5847"
},
{
"Usuari":"admin"
},
{
"Nom":"admin"
},
{
"Cognom1":null
},
{
"Cognom2":null
},
{
"Tipus":"admin"
},
{
"Progres":"0"
}
]
AJAX代碼是這樣的:
$(document).ready(function(){
$("#botoBuscar").click(function(){
$.ajax({url: "http://192.168.1.39/web/api/buscarUser.php?user="+ $("#userInput").val(), success: function(data){
var obj = $.parseJSON(data);
$("#id").val(obj[0]['ID']);
$("#user").val(obj[0]['Usuari']);
$("#nom").val(obj[0]['Nom']);
$("#cognom1").val(obj[0]['Cognom1']);
$("#cognom2").val(obj[0]['Cognom2']);
$("#tipus").val(obj[0]['Tipus']);
$("#progres").val(obj[0]['Progres']);
}});
});
});
如果僅打印var“數據”,則可以正確打印完整的JSON,但如果嘗試使用data ['ID']或data [0] ['ID']等,則不會打印任何內容。 我做錯了什么? 謝謝!
如果需要,生成JSON的代碼是以下(PHP):
$sql = "SELECT id, user, nom, cognom1, cognom2, tipus, progres FROM users WHERE user='".$_GET['user']."'";
$result = $db->query($sql);
$row = $result->fetch_array(MYSQLI_ASSOC);
$id = $row['id'];
$user = $row['user'];
$nom = $row['nom'];
$c1 = $row['cognom1'];
$c2 = $row['cognom2'];
$tipus = $row['tipus'];
$progres = $row['progres'];
//build the JSON array for return
$json = array(array('ID' => $id),
array('Usuari' => $user),
array('Nom' => $nom),
array('Cognom1' => $c1),
array('Cognom2' => $c2),
array('Tipus' => $tipus),
array('Progres' => $progres));
echo json_encode($json);
mysqli_close($db);
謝謝!
我找到了正確獲取值的解決方案。 代碼如下:
$(document).ready(function(){
$("#botoBuscar").click(function(){
$.ajax({url: "http://XX.com/api/buscarUser.php?user="+ $("#userInput").val(), success: function(data){
var obj = $.parseJSON(data);
$("#id").val(obj[0]['ID']);
$("#user").val(obj[1]['Usuari']);
$("#nom").val(obj[2]['Nom']);
$("#cognom1").val(obj[3]['Cognom1']);
$("#cognom2").val(obj[4]['Cognom2']);
$("#tipus").val(obj[5]['Tipus']);
$("#progres").val(obj[6]['Progres']);
}});
});
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.