名前がGET変数で識別される特定のファイルを読み取るAJAXスクリプトを作成しています。スクリプトの冒頭index.php
は次のとおりです。
var expFile = '<?php echo $_GET['text_name']; ?>';
$(document).ready(function () {
$.ajax({
url: expFile+'.xml',
type: 'get',
dataType: 'xml',
success: function (data, textStatus) {
// Parses the content, which is escaped into a "text" tag in the xml, and puts it
//into an html div with a "content" class"
var content = decodeURIComponent($(data).find('text').text());
$('.content').html(content);
}
});
});
そして、すべてがうまくいきました。ファイルが読み込まれ、物が正しく表示されます。index.php ファイルと同じフォルダーにある XML ファイルは、AJAX から直接読み取られます。
現在、URL を SEO フレンドリーにするために mod_rewrite を使用しています。ダーティ URL ( http://www.mysite.com/index.php?text_name=name-of-the-file-to-read
) を入力すると問題ありません。
しかし、書き換えられた URL (つまりhttp://www.mysite.com/lyrics/name-of-the-file-to-read
) を入力すると、コンテンツが表示されません。
mod_rewrite がサーバー側であるのに対し、AJAX はクライアント側であることは知っていますが、の「url」パラメーター$.ajax
またはurl: 'http://...'
(ただし、Same Origin Policy に反します)。
お願い助けて!!!