0
我試圖通過從php文件返回的數組進行循環。通過Ajax(JSON)響應循環錯誤
如果我運行此:
$.ajax({
type: "POST",
url: "lib/search/search.standards_one.php",
async: "false",
dataType: "json",
data: {subjects: subjects, grades: grades},
success: function(response){
$("#standards_results").html("");
$.each(response[0], function(){
console.log(this['code'], this['standard_id']);
});
}
});
一切完美。
但是,我需要使用數組(年級)作爲參數來循環這個響應。
這樣的:
$.ajax({
type: "POST",
url: "lib/search/search.standards_one.php",
async: "false",
dataType: "json",
data: {subjects: subjects, grades: grades},
success: function(response){
$("#standards_results").html("");
var len = grades.length;
var param = "";
for(var x=0; x < len; x++){
param = grades[x];
$.each(response[param], function(){
console.log(this['code'], this['standard_id']);
});
}
}
});
然而,當我運行此我得到錯誤「未定義的無法讀取屬性‘長’」。
我試過了許多不同的解決方案,但我仍然得出這個結果。
////
這是JSON對象被創建,其中:
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;
}
你可以添加一個JSON的例子嗎? – PhearOfRayne
等級在您的成功塊上未定義。你必須使用你得到的迴應來定義它。 – halilb
函數返回什麼 - 是那裏的等級對象? – Hogan