2016-06-24 12 views
0

Warum ist mein Root-Pfad in dieser Funktion verdoppelt?jQuery verdoppeln Root-Pfad auf einer load() -Funktion

function bodyClass(id) { 
 
    var catName = $('#location').children().eq(4).text(), 
 
     rootPar = ("http://localhost/site/" + catName), 
 
     banner = $('#wantedDiv'), 
 
     
 
     // this load variable doubles up the root path and does not escape the first single quote 
 
     content = $('<div />').load("'" + rootPar + " " + banner + "'", function(){ 
 
     $('#placeDiv').prepend(content.html()); 
 
     }); 
 
     
 
     // console logging retrieves the correct path inclusing the added "catName" 
 
     console.log(rootPar); 
 

 
} 
 
bodyClass();

Hier ist, was der Browser-Konsole zeigt mir:

console.log: http://localhost/site/page

load() Func: GET http://localhost/site/ 'http://localhost/site/page' 404 (Nicht Gefunden)

Antwort

2

Wenn die Seite geladen wird, wird sie auf http://localhost/site/ geladen. Wenn Sie also die Stammwebseite erneut hinzufügen, wird sie an das angehängt, was bereits vorhanden ist. Ich würde nur die catName anstelle der rootPar

+0

Ich habe bereits versucht, dass mit keinem Glück zu tun. Dies ist der Fehler, den ich bekomme GET http: // localhost/site/'Seite/404 (nicht gefunden) -> noch nicht das erste einzelne Zitat entkommen. – Sergio

+0

Was passiert, wenn Sie die einzelnen Anführungszeichen vollständig entfernen? –

+0

Ich bekomme einen anderen Fehler -> Uncaught Syntaxfehler, unerkannter Ausdruck: [Objekt Objekt] ' – Sergio

0

hinzufügen, die es herausgefunden ... für alle, die eine ähnliche Lösung suchen. Nur die Verkettung zu den Variablen und nicht innerhalb der load() -Funktion verschoben.

function bodyClass(id) { 
 
    var catName = $('#location').children().eq(4).text(), 
 
     rootPar = (catName + "/ "), 
 
     banner = "'" + '#' + 'wantedDiv' + "'", 
 
     content = $('<div />').load(rootPar + banner, function(){ 
 
     $('#placeDiv').prepend(content.html()); 
 
     }); 
 

 
} 
 
bodyClass();