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 に答える