Bram Vanroy
Bram Vanroy

Reputation: 28447

.load() and relative paths

.load() is giving me trouble. I'm working on a section loader project and I just can't seem to fetch the file that I need.

What I am trying to achieve: #sectionContainer is empty on document load, but on document ready it is 'filled' with Pages1.html. This is done by a JavaScript file sections.js. The JS file and the index.html are NOT in the same folder. Here is the site structure (I am running a lot of projects on my site)

And the code I use to load Pages1.html on ready:

$(document).ready(function () {
    $("#sectionContainer").load("../Pages1.html", function (response, status, xhr) {
        if (status == "error") {
            var msg = "An error occurred. Status code: ";
            $("#error").html(msg + xhr.status + ". Status text: " + xhr.statusText);
        }
    });
});

I have tried every possible method (/, ./, ., ../, ..) that I know of and nothing seems to work.

Does anyone know what I am doing wrong?

Upvotes: 9

Views: 18823

Answers (2)

Marcus Recck
Marcus Recck

Reputation: 5065

./Pages1.html should work. Tested all accounts for them in the address bar.

Upvotes: 8

Evan Davis
Evan Davis

Reputation: 36592

Your AJAX URLs should be relative to the page you're on, so you want "Pages1.html". What you have in the test case (..Pages1.html) will never work, as that's not a valid reference. (Did you mean to do ../Pages1.html?)

Upvotes: 1

Related Questions