我正在創建一個讀取特定文件的AJAX腳本,該文件的名稱用GET var來標識。 index.php
中的腳本的開頭是:AJAX,SEO和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);
}
});
});
一切正常。該文件被讀取,並顯示正確的東西。 直接從AJAX中讀取位於index.php文件的同一文件夾中的XML文件。
現在我正在使用mod_rewrite爲了使URL的搜索引擎友好。 當我輸入髒URL(http://www.mysite.com/index.php?text_name=name-of-the-file-to-read
)它沒關係。
但是,當我輸入重寫的網址(這是http://www.mysite.com/lyrics/name-of-the-file-to-read
)內容不顯示。
我知道AJAX是客戶端,而mod_rewrite是服務器端,但我不知道如何從$.ajax
的「url」參數到達父文件夾(實際上不存在)或像url: 'http://...'
這樣的絕對鏈接(但它違背了同源策略)。
請幫幫我!!!
seo友好的網址最終沒有.xml。我在寫文章時犯了一個錯誤:GET var沒有.xml –
問題不在於語法或文件名,而是使用SEO時找不到文件。我認爲問題是「歌詞/」文件夾:可能AJAX認爲這是一個文件夾,所以我必須在根文件夾中瀏覽並找到xml文件......但我怎麼用AJAX做到這一點?我試着用「../"+expFile+".xml」,但沒有任何反應。我也嘗試了絕對網絡路徑「http://www.mysite.com/"+expFile+".xml」,但它不起作用。 –