我试图解析从数据库返回并编码成JSON对象的信息。解析通过Ajax传递的JSON对象
这是一个获取信息的代码:
$.ajax({
type: "POST",
url: "lib/search/search.standards_one.php",
async: "false",
data: {subjects: subjects, grades: grades},
success: function(response){
$("#standards_results").html("");
var obj = $.parseJSON(response);
$.each(obj, function(){
alert(this['code'] + ", " + this['standard_one_id'])
});
}
});
我已经尝试了许多不同的方式:
private function retrieve_standards_one(){
$dbh = $this->connect();
$stmt = $dbh->prepare("SELECT code, standard_one_id
FROM standard_one
WHERE grade_id = :grade_id
ORDER BY standard_one_id");
$stnd = array();
for($x = 0; $x < (count($this->grades)); $x++){
$stmt->bindParam(':grade_id', $this->grades[$x], PDO::PARAM_STR);
$stmt->execute();
$stnd[] = $stmt->fetchAll(PDO::FETCH_ASSOC);
}
$json = json_encode($stnd);
return $json;
}
这个ID如何,我试图解析信息做到这一点,但我只得到[object] [object]作为回应。
这是响应:
'[对象的对象]'是对象的默认字符串表示,所以你的代码可能工作正常。'alert'是**非常糟糕**调试工具,如果你想检查变量,请使用'console.log'而不要连接对象和字符串! –
consol.log仍然只是返回[objects] s – Brendan
你是否删除了字符串连接?这个['code']); console.log(this ['standard_one_id'])'。alert和string concatenation都会将对象转换为字符串,这就是你应该避免的。 –