2012-09-21 15 views
7

sto sviluppando un sito web e ho questo sul menu laterale:Come caricare il file PHP in DIV da jQuery?

<a href="#" class="leftMenu" id="contact">Contact Us</a>

poi ho questo script

$(document).ready(function(){ 
    $("#contact").click(function(){ 
    $("#contents").load('home.php'); 
    }); 
}); 

e ho questo DIV dentro la mia pagina:

<div class="contentWrapper" id="contents"></div>

Ovviamente, quello che sto cercando di fare è caricare home.php whe n clicco sul collegamento ipertestuale Contattaci, che non funziona. cosa c'è che non va nel mio codice?

+0

Potete mostrarci dove avete impostato questo? –

+2

Hai qualche errore? Questo codice dovrebbe funzionare. – Blender

+3

Il tuo errore è probabilmente in home.php. Prova a utilizzare firebug (o console di sviluppo) per guardare la richiesta e la risposta. –

risposta

15

aggiungere home.php URL della pagina invece del nome del file.

$(document).ready(function(){ 
    $("#contact").click(function(){ 
    $("#contents").load('url to home.php'); 
    }); 
}); 
+0

Grazie, per alcune strane ragioni, ha funzionato! Ma mi chiedo il motivo per cui non funziona senza l'URL. Dovrebbe essere lo stesso, giusto? – JudeJitsu

+0

Sì, l'URL relativo dovrebbe funzionare. Prova ad accodare usando '/ home.php'? –

+0

come è possibile caricare due pagine diverse in due div diverse in un clic di un pulsante? –

8

È possibile utilizzare $.load() in questo modo, per ottenere più dati su che cosa sta accadendo. Quando viene visualizzato il messaggio di errore, probabilmente si può risolvere da soli ^^

$("#contents").load("home.php", function(response, status, xhr) { 
    if (status == "error") { 
     // alert(msg + xhr.status + " " + xhr.statusText); 
     console.log(msg + xhr.status + " " + xhr.statusText); 
    } 
}); 
1

si deve utilizzare il percorso di "home.php" dall'indice dir e non dallo script dir.

Se il tuo sito è:

/ 
    index.php 
    scripts 
    /script.js 
    /home.php 

È necessario modificare il vostro parametro di passaggio "scripts/home.php"

2

@ user2805663 So che questo post è piuttosto vecchio, ma se mi permetta di posta la soluzione potrebbe aiutare qualcun altro, in quanto mi ha aiutato.

Grazie a @Mangala Edirisinghe

seguendo il metodo è possibile caricare due file separati in due diversi DIV con un solo clic (Link).

$(document).ready(function(){ 
$("#clickableLink").click(function(){ 
    $("#contents").load('url/file1.php'); 
    $("#contents2").load('url/file2.php'); 
}); 
}); 
Problemi correlati