0

我想知道通过 HTTP GET 或 POST 请求中的数组索引解析 JSON 响应的最新 JQuery 语法是什么。我的服务器端运行良好,所以我正在寻找解析 PHP 返回的表行的方法。

这是我的服务器端 PHP 代码:

  function qry_select_account($pk_account) {

  // Global variables
  Global $db_host, $db_user, $db_pass, $db_name;  

  // Connect to database server
  $dbc = mysql_connect($db_host, $db_user, $db_pass) or die(mysql_error());
  // Select target database
  mysql_select_db($db_name) or die(mysql_error());

  // suchislife801 <--- Selects account information
  // Run query
  $sql_qry = mysql_query("SELECT * FROM tblaccount
                         WHERE pk_account = '$pk_account'") or die(mysql_error());

  // SQL Criteria  AND acc_confirmed = 'y' AND acc_locked = 'n'

  // Fetch table row for this user
  $row = mysql_fetch_row($sql_qry);

  print json_encode($row);

  //echo 'Account: ' . $row[0];
  //echo '<br />';
  //echo 'Passowrd: ' . $row[1];
  //echo '<br />';
  //echo 'Acc Level: ' . $row[2];
  //echo '<br />';
  //echo 'Email: ' . $row[3];
  //echo '<br />';
  //echo 'Language: ' . $row[4];
  //echo '<br />';
  //echo 'Time Zone: ' . $row[5];
  //echo '<br />';
  //echo 'Signup: ' . $row[6];
  //echo '<br />';
  //echo 'Conf Code: ' . $row[7];
  //echo '<br />';
  //echo 'Confirmed: ' . $row[8];
  //echo '<br />';
  //echo 'Locked: ' . $row[9];

  mysql_free_result($sql_qry);

  // Close Connection
  mysql_close($dbc);

  }

这是我的 JQuery 代码,它不起作用。

<script type="text/javascript">
$(function(){


    $('#test_btn').live('click', function() {

    $.getJSON("http://localhost/api.php?call=select_account&p0=suchislife801", function(json){
        alert("JSON Data: " + json);

    });



});


</script>
4

1 回答 1

-1

您可以使用 jQuery.parseJSON( json ) 函数。确保从服务器返回的 json 是有效的 json

您可以从这里验证 json 响应

使用以下检查服务器是否返回错误

 $.getJSON("example.json", function(data) {
  alert(date);
})
.success(function() { alert("second success"); })
.error(function() { alert("error"); })
);

循环通过 json 取决于 json 的类型

如果它是地图类型结构,如下所示

var map = { 
  "data1": "value1", 
  "data2": "value2" 
}; 

您可以使用以下内容进行迭代

$.each(map, function(key, value) { 
  alert(key + ': ' + value); 
});

参考:http ://api.jquery.com/jQuery.each/

于 2012-04-04T20:03:20.490 回答