J'ai une salle de discussion en ligne qui utilise jQuery/Ajax pour demander des données au serveur. Cependant, la méthode que j'utilise est très inefficace et j'essaie de l'améliorer en chargeant seulement les données du serveur si le contenu du chat a été changé (nouveau message, etc.) La méthode semble être logiquement correcte, bien qu'elle n'évalue jamais à vrai. J'ai joint le code ci-dessous, s'il vous plaît dites-moi ce que je fais mal car cela me donne un moment très difficile. Je veux que le chat div soit modifié uniquement lorsque les données du serveur sont différentes.Quel est le problème avec cette fonction jQuery/Ajax?
function loadMsgs()
{
var v_loadMsgs = new XMLHttpRequest();
v_loadMsgs.open("GET", "msgs.php");
v_loadMsgs.onreadystatechange = function()
{
var old_content = $("#msgs").html();
var new_content = v_loadMsgs.responseText;
if (old_content != new_content)
{
$("#msgs").html(new_content);
}
if (old_content == new_content)
{
$("#msgs").html("EQUAL!"); // only here for testing
}
};
v_loadMsgs.send(null);
}
Fonctionne comme un charme! Je vais aller plus loin dans les fonctions Ajax de jQuery, elles ont l'air vraiment sympa. Merci beaucoup! – Zack
jQuery est rempli avec des tonnes de fonctions utiles;) Cochez l'une des réponses comme solution, si la réponse a répondu à votre question. Lorsque vous le faites, cela aide d'autres personnes ayant le même problème à trouver la solution plus rapidement. – Blender
Merci, je viens de le faire :) Et merci beaucoup d'avoir signalé mon erreur initiale, ça me rendait fou. Je ne vérifiais pas le readyState parce que j'avais l'impression que jQuery le faisait seul, mais je suppose que c'était un mauvais malentendu! – Zack