【发布时间】: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