2010-09-18 14 views
6

Sto lavorando ora in un file manager da utilizzare nel mio semplice cms e ho un problema nella funzione di caricamento jquery quando ci vuole un percorso che contiene spazi. c'è un modo per superare questo problema?jquery "carica" ​​per il percorso contengono spazi - Hai bisogno di aiuto!

<script src="jquery.js"></script> 

    <script> 
     function get_content(){ 
      $("#content").load("uploads/flashes/New folder/target.php") ; 
     } 
    </script> 

    <div id="content"></div> 

risposta

17

Si può "encodeURIComponent" l'URL:

$("#content").load(encodeURIComponent("uploads/flashes/New folder/target.php")); 

metodo Javascript encodeURIComponent è equivalente a URLEncode.

+1

ottima funzione "escape()" e ottimo utente "Marc Uberstein" –

+0

Grazie! La maggior parte delle persone dimentica di escape() ed è un metodo così utile per gli sviluppatori di front-end. –

+2

** Mai ** usa 'escape()'. È uno schema di codifica non standard solo per JavaScript che non è uguale alla codifica dell'URL. Usa 'encodeURIComponent()' di preferenza, o 'encodeURI()' in questo caso per codificare solo caratteri completamente non validi come spazi. – bobince

5

È possibile utilizzare %20 per rappresentare uno spazio.

$("#content").load("uploads/flashes/New%20folder/target.php"); 

http://www.w3schools.com/TAGS/ref_urlencode.asp


EDIT:

Se non vuoi farlo manualmente, si potrebbe use encodeURI() instead. Ci sono un numero di caratteri URI comuni che non codifica, che sarà escape().

+0

Grazie a voi Patrick, funziona. –

+0

@user - Prego. : o) – user113716

+0

@web - 'escape()' funzionerà per il tuo esempio, ma se userai una chiamata al metodo per realizzarlo, potresti usare anche 'encodeURI()', dato che è quello che è destinato a fare. – user113716

Problemi correlati