L'appel jQuery .ajax() fait tout. Il a des wrappers avec moins de paramètres comme .get(), .post() et .load() que vous pouvez utiliser pour une syntaxe moins verbeuse.
Vous ne mentionnez pas le format dans lequel les données sont récupérées. Vous devez spécifier dans l'appel .ajax(). En gros:
function addMessage(message) {
$.ajax({
url: 'add.php',
success: function() {
$("#chatmessage").text('');
},
error: function() { ... },
timeout: 3000,
data: {
message: message
}
});
}
function getMessages() {
$.ajax({
url: 'messages.php',
dataType: 'html',
timeout: 3000,
error: function() { ... },
success: function(data) {
$("#messages").html(data);
}
});
}
Note: le paramètre dataType a juste besoin de faire correspondre quel que soit le script produit. Si messages.php produit, disons, une liste HTML de messages, alors définissez le dataType à "html". Si tel est le cas, vous pouvez également simplifier le code:
function getMessages() {
$("#messages").load("message.php");
}
Note: la fonction load() est juste une enveloppe autour .ajax(). Utilisez .ajax() si vous devez définir des choses comme les délais d'attente, la gestion des erreurs, etc. Par exemple:
<div id="messages"></div>
<input type="button" id="getmessages" value="Get Messages">
...
<script type="text/javascript">
$(function() {
$("#getmessages").click(function() {
$(this).attr("disabled", "true");
$.ajax({
url: 'message.php',
dataType: "html",
timeout: 5000,
error: function() {
alert("Error talking to server.");
$(this).attr("disabled", "false");
},
success: function(data) {
$("#messages").html(data);
$(this).attr("disabled", "false");
}
});
});
});
</script>
Ce qui précède est un exemple plus complet et devrait vous donner une idée de ce que vous pouvez utiliser les paramètres supplémentaires pour . Si vous n'en avez pas besoin, utilisez simplement les versions abrégées.
Je suis assez nouveau à cela, mais je suis sûr que les données apparaît comme html. Y at-il quelque chose de spécifique que je devrais changer pour cela à partir du code ci-dessus? Vous êtes vraiment génial avec la rapidité avec laquelle vous répondez, merci encore. –
Eh bien votre script (messages.php) écrira sa sortie dans un format spécifique, par exemple HTML, XML, JSON, etc. Le point du paramètre dataType est de correspondre à tout ce que votre script produit. S'il produit html, définissez dataType sur html. – cletus
Non, la fonction $ (..) .html() met à jour le innerHTML de l'élément. Il ne devrait pas y avoir de problème si le contenu retourné est html il sera placé dans le div #messages et analysé par le navigateur en conséquence. –