额外的文件夹图层被添加到href?

时间:2014-10-23 20:06:46

标签: javascript jquery html ajax

我正在尝试使用$(this).attr("href")在我的网站上创建ajaxy功能,但是当我测试它时,我从firefox获得了File Not Found错误。然而,奇怪的部分是它添加的附加文件夹:

Firefox无法在/C:/Websites/website/Articles/Articles/stuff.html找到该文件。

文件夹结构仅包含1个文章文件夹,其中包含html文件。我已尝试从index.html中的href元素中删除Articles文件夹,但后来我收到此错误:

/C:/Websites/website/stuff.html。

- 这完全可以理解,并指出它们实际上是在文章文件夹中。

控制此细分的整个javascript位于:

$(function() {

    if (Modernizr.history) {

        $("#content").on("click", "a", function() {

            _href = $(this).attr("href");
            history.pushState(null, null, _href);
            loadContent(_href);

        });
    } 
});

var $content = $("#content"),
    $el;

$(function loadContent(href) {

    $content.find("#content");
    $content.fadeOut(500, function() {
        $content.hide();
        $content.load(href + " #content", function() {
            $content.fadeIn(500);
        });
    });
});

这是index.html的相关部分:

<div id="content">
        <a href="Articles/stuff.html">
        <section>
            <div>
                <p>stuff</p>
            </div>
        </section>
        </a>
</div>

关于这可能来自哪里的任何想法?

2 个答案:

答案 0 :(得分:0)

当您从路径中删除文章时,您是否离开了&#34; /&#34;?如果是这样,请删除它并再试一次。斜杠使路径相对而不是绝对

答案 1 :(得分:0)

我要忽略你的代码,但要隔离你问题的核心:“为什么URL中会出现一个额外的文件夹?”前端:

<div>
     <a id="Content" href="~/Articles/Content.html">Content</a>
</div>

Javascript:

$(document).ready(function () {
     $("#Content").on('click', function () {
          var url = $(this).attr('href');
          alert(url);
     });
});

输出是您尝试导航的正确网址。 Here是一个例子的小提琴。您可以在您的系统上尝试这种方法。它对我有用,所以我可能会建议~/Folder/Page.html

希望这有帮助,请告诉我。