143 votes

AJAX - données multiples

Je suis coincé, j'essaie de soumettre un formulaire en utilisant AJAX, mais je ne trouve pas le moyen d'envoyer plusieurs champs de données via mon appel AJAX.

  $(document).ready(function()   {
            $("#btnSubmit").click(function()    {
                var status = $("#activitymessage").val();
                var name = "Ronny";

                $.ajax({
                    type: "POST",
                    url: "ajax/activity_save.php",
                    **data: "status="+status+"name="+name"**,               
                    success: function(msg) {...
 

J'ai essayé toutes sortes de choses:

 data: {status: status, name: name},
 

ou même des trucs comme ça juste à des fins de test:

 data: "status=testing&name=ronny",
 

Mais quoi que j'essaye, je n'ai rien dans mon activity_save.php donc rien dans mon SQL. Alors, quelle est la syntaxe correcte pour insérer plus de lignes de données dans mon appel AJAX?

276voto

Avitus Points 5254

La syntaxe correcte est la suivante: http://api.jquery.com/jQuery.ajax/

 data: {status: status, name: name},
 

Si cela ne fonctionne pas, je voudrais alerter ces variables pour s'assurer qu'elles ont des valeurs.

38voto

k-dev Points 875

vous pouvez envoyer des données par Json ou par courrier normal, voici un exemple pour Json.

  var value1 = 1;
 var value2 = 2;
 var value3 = 3;   
 $.ajax({
      type: "POST",
      contentType: "application/json; charset=utf-8",
      url: "yoururlhere",
      data: "{'data1':'" + value1+ "', 'data2':'" + value2+ "', 'data3':'" + value3+ "'}",
      success: function (result) {
           //do somthing here
      }
 });
 

Si vous voulez l'utiliser via la poste normale, essayez ceci

  $.ajax({
      type: "POST",
      url: $('form').attr("action"),   
      data: $('#form0').serialize(),
      success: function (result) {
         // do somthing here
      }
 });
 

9voto

Alberthoven Points 573

Essayez avec des citations:

 data: {"status": status, "name": name}
 

Cela doit bien fonctionner.

7voto

shaahin Points 4760
 var countries = new Array();
countries[0] = 'ga';
countries[1] = 'cd';
 

après ça tu peux faire comme:

 var new_countries = countries.join(',')
 

après:

 $.ajax({
    type: "POST",
    url: "Concessions.aspx/GetConcessions",
    data: new_countries,
    ...
 

Cette chose fonctionne comme format de chaîne JSON.

2voto

Shan Points 1

Je suis un débutant chez ajax mais je pense que l’utilisation de cette méthode "data: {status: status, name: name}" "doit être définie sur JSON c'est-à-dire

 $.ajax({
type: "POST",
dataType: "json",
url: "ajax/activity_save.php",
data: {status: status, name: name},
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X