[AJAX] Exécuter JS dans réponse Ajax
J'ai recherché sur ce sujet, mais je n'ai rien trouver, je suis étonné, je ne suis sûrement pas le premier à me casser le nez là dessus ?
Mon problème est simple: Comme puis-je faire pour que le code Javascript qui est contenu dans la réponse à mon appel Ajax puisse s'éxécuter ?
Voici un code exemple ou je fais mes tests qui ne fonctionne pas.
J'ai essayé de faire court. Merci
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
| <html>
<body>
<script type="text/javascript">
var i = 0;
function ajax(){
var xhr=null;
if (window.XMLHttpRequest) {
xhr = new XMLHttpRequest();
}
else if (window.ActiveXObject)
{
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
//on définit l'appel de la fonction au retour serveur
xhr.onreadystatechange = function() { Display_ajax(xhr); };
//on appelle le fichier reponse.txt
xhr.open("GET", "reponse.php", true);
xhr.send(null);
}
function Display_ajax(xhr){
if (xhr.readyState==4)
{
// Declaration de la variable de retour HTML
var My_html_Response = xhr.responseText;
document.getElementById("result").innerHTML = My_html_Response;
}
}
function insert(){
var myRow = document.getElementById('ta').insertRow(-1);
var newCell = myRow.insertCell(0);
i++;
newCell.innerHTML = 'nouvelle cellule '+i;
}
</script>
<p><a href="javascript:ajax();">Insérer une ligne via Ajax</a></p>
<p><a href="javascript:insert();">Insérer une ligne direct</a></p>
<div id=result>Attente</div>
<table id="ta" border=1>
<tr><td>Ligne 0</td></tr>
</table>
</body>
</html> |
Code:
1 2 3 4 5 6
| <?php
echo "<script>
insert();
//alert(\"Ajout de ligne\");
</script>";
?> |