this.responseText
の各要素を取得し、JavaScriptのHTMLに入れたいと思います。私のコードに何か間違っていますか?私のコードが私の質問を理解するのに役立つことを願っています。ありがとう。 (p.s.htmlコードが提供されているのでjqueryを使用できません)JavascriptでPHPのJSONデータ(配列)を使用する方法
this.responseText
の例は以下のとおりです。 (alert
を使って、私はそれを得た)
{"name":"Hermione Grainger","number":"4","review":"Not as good as the NEXT book in the series, but hilarious and satisfying."}{"name":"Ronald Drumpf","number":"1","review":"Feminist propaganda!"}{"name":"Brienne of Tarth","number":"5","review":"Alanna is my best friend."}
私のJavaスクリプトは以下の通りです。
function bookReview(){
var reviews = JSON.parse(this.responseText);
for(var i=0; i<reviews.length; i++){
var name = document.createElement("h3");
var text = document.createElement("p");
name.innerHTML = reviews[i].name + reviews[i].number;
text.innerHTML = reviews[i].review;
document.getElementById("reviews").appendChild(name);
document.getElementById("reviews").appendChild(text);
}
}
または私のPHPコードに何か問題がありますか?
$path = "books/$book/";
review(glob($path . "review" . "*" . ".txt"));
function review($reviews) {
foreach ($reviews as $each) {
$review = file($each, FILE_IGNORE_NEW_LINES);
$output = array (
"name" => $review[0],
"number" => $review[1],
"review" => $review[2]
);
header("Content-type: application/json");
print(json_encode($output));
}
}
私は自分のPHPコードを追加しました。私のPHPコードを確認できますか? – Tak
ここで2番目の答えを参照してください:http://stackoverflow.com/questions/6739871/how-to-create-an-array-for-json-using-php(ループ内の配列を生成し、その外側に配置します配列とjson.encode this)。 – aabbcccc
私は以下のコードにそれを変更しましたが、それはうまく動作しませんでした... \t機能レビュー($レビュー){ \t \t foreachの($各として$レビュー){ \t \t \t $見直し=ファイル($各、FILE_IGNORE_NEW_LINES); \t \t \t $出力=配列( \t \t \t \tアレイ( \t \t \t \t \t "名" => $レビュー[0]、 \t \t \t \t \t "番号" => $レビュー[1]、 \t \t \t \t \t "レビュー" => $レビュー[2] \t \t \t \t \t) \t \t \t \t); \t \t \t \t \t} \t \tヘッダ( "コンテンツタイプ:アプリケーション/ JSON")。 \t \t print(json_encode($ output)); \t} – Tak