XML を読み込んで検索ボックスに入力しようとしています。私が持っているコードは静的 xml ファイルで正常に動作しますが、データベースからのデータに基づいて動的 XML ファイルを生成するには、PHP ファイルを読み込む必要があります。
PHP ファイルがブラウザーにロードされると XML が生成され、ページ ソースに正しいノードなどが表示されることはわかっていますが、JavaScript で .php ファイルを参照すると、ロードに失敗するか、エラーが表示されます... xml ファイル (php 出力ソースのレプリカ) を正常にロードします。
XML を正しくエンコードしているか、JavaScript に何かが欠けているかどうかを誰かに確認してもらいたいのですが...アドバイスをいただければ幸いです。
JS
var myArr = [];
$.ajax({
url: "people.php", // change to full path of file on server
type: "GET",
dataType: "xml",
success: parseXml,
complete: setupAC,
failure: function(data) {
alert("XML File could not be found");
}
});
function parseXml(xml){
$(xml).find("person").each(function(){
var thisItem = $(this).find('name').text();
myArr.push(thisItem);
alert(thisItem);
});
}
PHP
<?php
include '../../inc_global/connect.php';
$query = 'SELECT * FROM candidates';
$result = mysql_query($query, $link);
$xmlOutput = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
$xmlOutput .= "<people>\n";
while ($line = mysql_fetch_assoc($result)) {
$xmlOutput .= "<person>\n";
$xmlOutput .= "<name>" . $line['name'] . "</name>\n";
$xmlOutput .= "</person>\n";
}
$xmlOutput .= "</people>\n";
echo $xmlOutput;
mysql_close($link);
?>