【问题标题】:Using AJAX to load a folders content - Links in the folder don't have the full URL使用 AJAX 加载文件夹内容 - 文件夹中的链接没有完整的 URL
【发布时间】:2014-06-06 10:12:25
【问题描述】:

我的网络服务器上有包含文件的文件夹。我使用 AJAX 将每个文件夹的内容加载到我网站的正确页面上,效果很好,文件夹内容显示为链接,这很棒。除了一件事..

可以通过 www.refstudio.com/Content/marketing/etc/etc 访问内容文件夹,这很好,正如我上面所说,AJAX 会提取所有文件并将它们显示为链接,但我的问题是ajax 拉入的文件夹中的每个文件似乎链接不正确,因此拉入的文件的链接不是“www.refstudio.com/Content/Marketing/design.pdf”,而是“www. refstudio.com/design.pdf”,这当然会导致 404。

所以我的问题是,如何让链接成为我的 AJAX 脚本中的完整/正确 url?

这是我目前的脚本,非常基本,也可以做到:

$(document).ready(function(){
  $('.ajax_link').click(function(){
   var url = $(this).attr('href');
   $('#ajax_content').load(url);
   return false;
 });
});

脚本正常工作,但我的问题是通过内容链接拉出的不是完整/正确的 URL。

希望你们能指出我遗漏的东西!

谢谢大家!

编辑:我添加了一张图片,希望能比我能更好地解释我的问题:

【问题讨论】:

  • 更改加载文件中的url?
  • 您是否使用绝对路径名而不是相对路径名(您的 href 是否以 / 开头?)?
  • 我制作的图片应该可以解释一切,因为我不太确定您在说哪些链接,抱歉。

标签: jquery ajax


【解决方案1】:

在做了更多研究之后,我设法回答了我自己的问题!太棒了。

我只循环浏览页面上包含在#ajax_content 元素中的所有链接,以免影响页面上的任何其他链接。然后我通过 .attr() 添加 URL 的缺失部分,然后还添加“目标”属性以获取要在页面 iFrame 中打开的链接!

我欣喜若狂,我设法让它也加载到 iFrame 中,但很惭愧我必须使用 iFrame 呵呵。

再次感谢大家的帮助! (尤其是你亚历克斯,他让我的大脑开始思考你说的话,因为我一开始不太明白你的意思!)

$(document).ready( function() {
    $( ".page-id-86 .ajax-trig" ).click(function() {
        $("#ajax_content").load("http://example.com/Content/Marketing/Case_Studies/Energy/", function() {
            $("#ajax_content a").each(function() {
               var _href = $(this).attr("href");
               $(this).attr("href", "/Content/Marketing/Case_Studies/Energy/" + _href ).attr("target", "mframe");
            });
        });
        return false;
    });
});

【讨论】:

    猜你喜欢
    • 2014-03-19
    • 2012-04-17
    • 2022-07-03
    • 1970-01-01
    • 1970-01-01
    • 2011-08-04
    • 1970-01-01
    • 1970-01-01
    • 2020-01-22
    相关资源
    最近更新 更多