jQuery charger l'url dans la div et remplacer le contenu actuel transmettre l'url de la fonction
Je suis en train d'appeler une fonction appelée loadPage
sur le clic d'un a
et la balise de passer une URL pour remplacer le contenu actuel dans un div
appelé main
via Ajax.
Cependant, mon code n'est pas de remplacer le contenu déjà dans la div principale ou même faire de l'appel Ajax aussi loin que je peux voir et je ne vois pas où ça va mal.
JavaScript:
$(document).ready(function () {
function loadPage(urlToLoad) {
$.ajax({
type: "POST",
alert(urlToLoad);
url: urlToLoad,
data: dataString,
success: function (returnedData) {
$('#main').html(returnedData);
}
});
}
});
HTML:
<nav>
<ul>
<li><a onclick="loadPage('load.php');" href="javascript:void(0)" class="nav"><img src="news.png" alt="Latest news" width="81" height="61" class="navImage" />Latest news</a>
</li>
</ul>
</nav>
<div id="main">
<section id="mainContent">abc</section>
</div>
- Vous n'êtes pas à l'exécution de la fonction de n'importe où..
- S'il vous plaît avoir un coup d'oeil dans cet article pour apprendre à débogage du code JavaScript.
- 1) vous avez "alerte" en ajax demande parametrs - il de l'erreur 2)votre fonction enveloppé par l'anonymat de la fonction, donc hors de portée mondiale
- Si vous obtenez des erreurs à l'intérieur de la console (si vous utilisez google chrome, vous pouvez les voir en poussant
f12
), alors pouvez-vous s'il vous plaît coller le texte exact de sorte que nous pouvons fournir plus de réponses précises.
Vous devez vous connecter pour publier un commentaire.
Vous pouvez simplement le faire à l'aide de
vide
:pourquoi avez-vous une alerte à l'intérieur de l'ajax options.. c'est jeter l'erreur.. en retrait et il devrait fonctionner..
et pas besoin de créer une fonction à l'intérieur du document.prêt()... le garder à l'extérieur de la fonction ready
Vous pourriez le faire d'une autre manière, par l'ajout d'une mesure "données" attribut à votre point d'ancrage des balises, et à l'aide de jquery pour gérer l'événement click.
Votre fonction
loadPage
est portée à la fermeture utilisés pour jQuerydocument.ready
. Plus tard, lorsque la fonctionloadPage
est appelé, l'appel vient de la portée globale. En conséquence, la fonction ne sera pas accessible. Prenez votre fonction de $(document).ready(function(){});Également noter que lors de la tentative de débogage à l'aide de
alert
(pas vraiment recommandé, à tout le moins, vous devez utiliserconsole.log
), que vous avez besoin de mettre l'alerte sur sa propre ligne de code, et pas seulement dans le milieu de code comme un point d'arrêt. Votre alerte doit venir avant l'appel ajax.Moveout la fonction de la
doc ready
gestionnaire:essayer avec ce code html:
Vous ne devriez pas alerte dans l'ajax propriétés de la fonction, afin de supprimer l'alerte à partir de là. Il semble que vous voulez qu'il soit de travail sur le clic d'un lien spécifique. Donc vous pouvez essayer cette.