dpy83214 2012-04-04 19:55
浏览 54

通过数组索引解析PHP的JSON响应。 怎么样?

I would like to know what is the latest JQuery syntax for parsing a JSON response by array index from a HTTP GET or POST request. My server side works great so I am look for way to parse the table row returned by PHP.

Here is my SERVER SIDE PHP code:

  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);

  }

Here is my JQuery code which is not working.

<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>
  • 写回答

1条回答 默认 最新

  • donglu9978 2012-04-04 20:03
    关注

    You can use jQuery.parseJSON( json ) function. Make sure that json returned from server is a valid json

    You can validate json response from here

    Use following to check if error is returned by server

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

    looping through json depends on type of json

    if its a map type structure, like following

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

    you can use following to iterate through

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

    Reference: http://api.jquery.com/jQuery.each/

    评论

报告相同问题?

悬赏问题

  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 关于大棚监测的pcb板设计
  • ¥15 stm32开发clion时遇到的编译问题
  • ¥15 lna设计 源简并电感型共源放大器
  • ¥15 如何用Labview在myRIO上做LCD显示?(语言-开发语言)