PHPスクリプトからエコー出力を返すAJAX文があります。出力はXMLです。AJAXデータ変数がロードされていません
PHPスクリプトに直接ナビゲートすると、必要な形式でJSONが出力されます。
AJAXリクエスト内の "data"変数は、Firebugネットワークタブに要求のステータス200 OKと表示されていますが、正しく返していません。
JPlayerスクリプトを投入するXML要素 "MP3やタイトルを" 返すPHP
<?php
$url = 'http://www.startalkradio.net/?page_id=354';
$rss = simplexml_load_file($url);
$items = $rss->channel->item;
$i = 0;
$data = array();
foreach ($items as $item) {
$data[] = array(
'title' => (string) $item->title,
'mp3' => (string) $item->enclosure['url'],
);
if (++$i == 3) break;
}
$jsdata = json_encode($data);
echo htmlspecialchars($jsdata, ENT_NOQUOTES, 'utf-8');
?>
AJAX呼び出し。 data
が返されていないようです。
$(document).ready(function() {
$.get(
"http://www.freeenergymedia.com/getxml2.php",
function(data) {
new jPlayerPlaylist({
jPlayer: "#jquery_jplayer_1",
cssSelectorAncestor: "#jp_container_1"
},
data,
{ <!-- here I am returning the php script to populate XML into JPlayer. -->
swfPath: "js",
supplied: "mp3, oga",
wmode: "window"
});
}
);
});
ここ
問題
で linkは、XMLはあなたがXMLを返すが、していると言う link
は、あなたがXMLとしてデータ型をspeicfyしようとしたことがあり:
data
は次のようになります。だからあなたの$.get()
呼び出しがあることを指定する必要がありますか? http://api.jquery.com/jQuery.get/、4番目のパラメータはdataTypeです。 $ .ajaxメソッドに切り替えて、エラーイベントをバインドすることもできます。また、console.log(data);あなたの関数の内部で、その応答が何であったかを確認します。 –今しようとしました –
http://www.freeenergymedia.com/getxml2.phpがXMLではなくJSONを返しています。 –