2009-10-13 10 views
1

Lorsque je fais un appel ajax (voir le code ci-dessous), qu'est-ce que "data". Comment puis-je configurer et obtenir des données

// $.post() 
$("#post").click(function(){ 
    $("#result").html(ajax_load); 
    $.post( 
     loadUrl, 
     {language: "php", version: 5}, 
     function(data){ 
      $("#result").html(data); 
     }, 
     "json" 
    ); 
}); 

Répondre

1

Le documentation for $.post dit que les données "pourraient être xmlDoc, jsonObj, html, texte, etc ...". C'est ce que le serveur renvoie pour le fichier loadUrl que vous avez spécifié avec les paramètres donnés (dans votre cas, langue: "php", version: 5), vous devez donc examiner ce que le serveur renvoie. Juste une alerte (données) dans votre rappel et vous verrez ce qui a été retourné.

Mise à jour: renommé 'responseText' en 'data', puisque l'OP a changé la question pour faire cela.

+0

Je pense qu'il demande quelle est l'entrée de données, pas quel est le retour/réponse. –

+0

@Jakobud Soupir, ma réponse a été prise dans un changement de nom/clarification par l'OP, qui a fait paraître drôle. Est-ce que vous downvote s'appliquent toujours? – aem

+0

@Jakobud: Je ne pense pas que le downvote soit justifié. Si je comprends bien la question, aem fait référence à la bonne chose. –

0

Par exemple, j'utilise:

$(document).ready(function(){ 
$("#btSend").click(function() { 
    $.post("/Ajax/script.php", {nome: $("#nome").val(), email: $("#email").val()}, function(data) { 
     alert(data); 
    }); 
    return false; 
}); 

}); Le script.php retourne ce que je veux montrer, mais vous pouvez changer pour faire une autre opération avec 'data'. Le 'btSend' est une image et le 'nome' et 'email' sont des zones de texte html.

Cela fonctionne :)

0
$.post('fileName.php',{ 

data: $('#id').val(), 
}, 
function(response) 
{ 
    alert(response); 
} 
} 
5

Les données sont une valeur sérialisée de vos entrées. Exemple:

<form> 
    <input type='text' name='myText1' value='hello'/> 
    <input type='text' name='myText2' value='world'/> 
</form> 

Vous pouvez maintenant lancer ceci:

var myData = $('form').serialize(); 
alert(myData); 

Et votre messagebox dirait:

myText1=hello&myText2=world 

myData est la valeur de données que vous souhaitez passer dans le $ Fonction .post.

Puisque vous êtes nouveau sur jQuery, je vous recommande peut-être d'utiliser la fonction $.ajax à la place. Il y a beaucoup plus d'options pour cela, mais j'ai toujours pensé que c'était plus simple et plus facile à comprendre que $ .post. Voici comment je l'utilise:

$.ajax({ 
    type: "POST", //define the type of ajax call (POST, GET, etc) 
    url: "my-ajax-script.php", //The name of the script you are calling 
    data: myData, //Your data you are sending to the script 
    success: function(msg){ 
     $("#result").html(msg); //Your resulting action 
    } 
}); 

BTW, ne pas oublier, pour pouvoir utiliser la fonction sérialisation jQuery, toutes les entrées doivent avoir le nom jeu d'attributs, ou bien la fonction serialize les ignorera.

+0

Je pense que OP demande quelles sont les données de réponse, et non les données d'entrée. –