【问题标题】:Jquery - How to parse the JSON array?Jquery - 如何解析 JSON 数组?
【发布时间】:2011-09-19 18:49:11
【问题描述】:

我想通过 jquery 进行解析。当我要解析的时候,有一个错误——未定义。

这是我的代码:

PHP

try { 

session_start();

require '../SqlConfig.php';


 if(isset($_POST["user_name"]) && isset($_POST["user_password"])) {
 {  

$sql = "SELECT * FROM users WHERE user_name='".mysql_real_escape_string($_POST["user_name"]) . "' AND " . "user_password='". mysql_real_escape_string($_POST["user_password"]) ."'";

$result = mysql_query($sql) or die(mysql_error());

$jsonresult = array();

  while($row = mysql_fetch_array($result))
  {
    $thisResult = array();

    $thisResult["user_auth"] = 1;
    $thisResult["user_id"] = $row['user_id'];
    $thisResult["user_name"] = $row['user_name'];

    $_SESSION["user_auth"] = 1;
    $_SESSION["user_id"] = $row['user_id'];
    $_SESSION["user_name"] = $row['user_name'];

    $jsonresult[] = $thisResult;
  }
  echo json_encode($jsonresult);
  mysql_close();
  }

}
}
catch(Exception $e) 
{
echo $e->getMessage();
}

JSON 数组:

[{"user_auth":1,"user_id":"11","user_name":"Jenan"},
 {"user_auth":1,"user_id":"15","user_name":"Jenan2"},
 {"user_auth":1,"user_id":"16","user_name":"Jenan3"}]

JQUERY

getAuthentification: function(username, password)
    {
        $.post('ActionScripts/Authentification.php',{
            user_name: username, 
            user_password: password
        }, function(data) 
        {
          $.each(data, function(key, value){
                alert(value.user_auth +' - '+ value.user_id +' - '+ value.user_name);
            });


        });
    }

这是错误:结果是未定义 - 未定义 - 未定义。并且无限循环。 -

$.each(data, function(key, value){
                alert(value.user_auth +' - '+ value.user_id +' - '+ value.user_name);
            });

数据-

 [{"user_auth":1,"user_id":"11","user_name":"Jenan"},
 {"user_auth":1,"user_id":"15","user_name":"Jenan2"},
 {"user_auth":1,"user_id":"16","user_name":"Jenan3"}]

警报 - 输出 - undefined - undefined - undefined

感谢您的建议。

【问题讨论】:

  • 在您的$.each 之前执行console.log(data) 对其进行调试。
  • 数据 - [{"user_auth":1,"user_id":"11","user_name":"Jenan"}, {"user_auth":1,"user_id":"15", "user_name":"Jenan2"}, {"user_auth":1,"user_id":"16","user_name":"Jenan3"}] 在 console.log(data) 中。我试过了。

标签: php jquery arrays json parsing


【解决方案1】:

试试这个:

getAuthentification: function(username, password)
    {
        $.post('ActionScripts/Authentification.php',{
            user_name: username, 
            user_password: password
        }, function(data) 
        {
          $.each(data, function(key, value){
                alert(value.user_auth +' - '+ value.user_id +' - '+ value.user_name);
            });


        },"json");
    }

我添加的只是 ,"json" 到最后告诉 jquery 它应该期待一个 json 响应而不是字符串响应。

【讨论】:

    猜你喜欢
    • 2012-05-14
    • 1970-01-01
    • 2010-12-09
    • 1970-01-01
    • 2011-01-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-06
    相关资源
    最近更新 更多