Ajax を使用して、php スクリプトから Javascript ファイルに JSON オブジェクトを渡そうとしています。以下のコードは単純な文字列で機能しましたが、JSON オブジェクトに含まれる複数の文字列で機能するように修正しようとしています。以下に各ファイルの抜粋を貼り付けました。私は何を間違っていますか?
これは、リクエストを作成している html/javascript ファイルからの抜粋です...
function retrieveAircraftInfo(str) {
var xmlhttp;
if (str.length==0) {
document.aircraftRegForm.aircraftManufacturer.value="";
return;
}
if (window.XMLHttpRequest) {
// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
} else {
// code for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState==4) {
var aircraftDataJSON = xmlhttp.responseText.evalJSON();
document.aircraftRegForm.aircraftManufacturer.value = aircraftDataJSON.manufacuter;
document.aircraftRegForm.aircraftType.value = aircraftDataJSON.type;
document.aircraftRegForm.aircraftPopularName.value = aircraftDataJSON.popularName;
document.aircraftRegForm.aircraftGenericName.value = aircraftDataJSON.genericName;
}
}
xmlhttp.open("GET","scraper.php?q="+str,true);
xmlhttp.send();
}
これは、データベース検索を行っている php ファイルからの抜粋です。
$aircraftDataArray = array("manufacturer" => $extractedManufacturer,
"type" => $extractedType,
"popularName" => $extractedPopularName,
"genericName" => $extractedGenericName);
echo json_encode($aircraftDataArray);