0

我正在创建一个读取特定文件的 AJAX 脚本,该文件的名称由 GET var 标识。脚本的开头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 读取的。

现在我正在使用 mod_rewrite 来使 URL 对 SEO 友好。当我输入脏 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)时,内容不会显示。

我知道 AJAX 是客户端,而 mod_rewrite 是服务器端,但我不知道如何从“url”参数$.ajax 或绝对链接(如url: 'http://...'(但它违反了同源政策)。

请帮帮我!!!

4

2 回答 2

0

URL.xml由函数本身附加 - 在这一行:

url: expFile+'.xml',

当您尝试使用 SEO 友好的 URL 时,它仍然存在吗?如果是这样,我会删除附加的并重.xml试。

于 2012-11-25T19:55:44.903 回答
0

弗朗切斯科的回答,最初提出的问题:

解决了。

问题出在脚本标签上。我不得不把一个../到jquery href

<script type="text/javascript" src="../libraries/jquery.min.js"></script>

然后我添加../到 URL 中,一切正常。

于 2012-11-25T22:14:10.410 回答