簡體   English   中英

在JQuery中解析JSON並在輸入中進行設置

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM