2012-05-15 6 views
8

.load() gibt mir Ärger. Ich arbeite an einem Section Loader-Projekt und ich kann einfach nicht die Datei, die ich brauche, holen..load() und relative Pfade

Was ich versuche zu erreichen: #sectionContainer ist leer auf dem Dokument laden, sondern auf dem Dokument bereit ist ‚gefüllt‘ mit Pages1.html. Dies geschieht durch eine JavaScript-Datei sections.js. Die JS-Datei und die index.html befinden sich NICHT im selben Ordner. Hier ist die Website-Struktur (Ich verwende viele Projekte auf meiner Website)

  • Hauptordner
    • Projekt 1
    • Projekt 2 (sectionLoaderTest /)
      • index.html
      • Pages1.html
      • Pages2.html
      • css/
      • js/
        • sections.js
    • Projekt 3
    • ...

Und der Code verwende ich Pages1.html auf bereit zu laden:

$(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); 
     } 
    }); 
}); 

ich jede mögliche Methode versucht haben (. /, ./, ../ ..), die ich kenne und nichts scheint zu funktionieren. Hier ist die test case.

Weiß jemand, was ich falsch mache?

+1

'./Pages1.html sollte funktionieren. –

+0

FML. Ich bin mir ziemlich sicher, dass ich das versucht habe. Anscheinend hatte ich nicht. Wenn Sie Ihren Kommentar als Antwort posten, werde ich ihn als korrekt markieren. :) Danke vielmals! –

+0

Posted als Kommentar, Prost. –

Antwort

8

./Pages1.html sollte funktionieren. Getestet alle Konten für sie in der Adressleiste.

1

Ihre AJAX-URLs sollten relativ zu der Seite sein, auf der Sie sich befinden, also möchten Sie "Pages1.html". Was Sie im Testfall (..Pages1.html) haben, wird nie funktionieren, da dies keine gültige Referenz ist. (Hast du vor, ../Pages1.html?)