2009-12-01 3 views
0

J'essaie d'appeler une page PHP avec XmlHttpRequest (AJAX). Mon problème est que j'ai jQuery (javascript) inclus dans ma page PHP comme ceci:Problème dans jQuery et XmlHttpRequest

<script language="javascript" src="jquery.js"></script> 
<script language="javascript"> 
    // my jquery code here 
</script> 

Quand j'appelle la page PHP avec XmlHttpRequest il échoue! Autrement dit, la réponse ne montre que le contenu de PHP, mais jQuery ne fonctionne pas! Quand j'accède directement à cette page PHP cela fonctionne.

Alors, comment puis-je résoudre ce problème?

+2

ma réponse ici :-) –

+1

Ajouter plus de détails. Publiez le code javascript et définissez ce que «jquery ne fonctionne pas». – kgiannakakis

+0

main-> visage ....... –

Répondre

2

Vous avez probablement votre code jquery comme ceci:

$(document).ready(
     function() { //something magic } 
); 

Le fait est: il ne se déclenche pas si vous chargez par AJAX.

Pour l'exécuter, vous devez simplement supprimer la pièce $(document).ready.

Vous pouvez également lire a discussion about it.

0

Javascript ne peut pas être chargé via un appel XMLHttpRequest que le javascript est enregistré au cours de la charge de la page, vous devez charger le code JavaScript lors de la charge initiale

0

Vos appels ajax doivent appeler un fichier php qui ne sort que JSON. Ensuite, votre gestionnaire ajax succès peut l'utiliser JSON pour exécuter tout ce que vous avez besoin javascript

--ajax.php -- no JS or jQuery allowed here, just echo json 
<?php 
echo json_encode(array('message'=> 'Ajax is fun')); 
?> 

--page.html 
$.get('ajax.php', function(data) { 
    console.log('Ajax call returned', data.message); 
})