2016-04-10 2 views
0

Ich habe 10 AJAX-Abfragen mit den gleichen Parametern.jQuery AJAX Datenparameter

$.ajax({ 
    global: false, 
    type: 'POST', 
    url: value, 
    dataType: 'html', 
    data: { 
     firstname: $("#firstname").val(), 
     lastname: $("#lastname").val(), 
     surname: $("#surname").val(), 
     age: $("#age").val(), 
     ... 
     sex: $("#sex").val() 
    }, 
    success: function(result) { 
     console.log(result); 
    }, 
    error: function (request, status, error) { 
     serviceError(); 
    } 
}); 

Wie kann ich diese Parameter vereinheitlichen, um sie nicht 10 mal zu schreiben, weil ich 76 Parameter habe?

+0

Sie können es vor Ihrem Ajax Anruf tun. – IsraGab

+0

@IsraGab okay, aber wie. Kannst du mir zeigen? – diank

+0

Wenn Sie alle Felder innerhalb eines Formulars übergeben möchten, können Sie 'data: $ ('# form') verwenden serialize();' Wenn nicht, können Sie eine Zeichenfolge mit allen Parametern in Form von 'Daten vorbereiten : $ ('# form'). serialize() + "& par1 = 1 & par2 = 2 & par3 = 232" ' einfach durch die verfügbaren parameter schleifen und eine string vorgeben – jeetaz

Antwort

0

Zunächst einmal eine einzige Klasse für jede Ihrer param in Ihrem HTML so etwas wie erstellen:

<input type="text" id="param1" class="params"/> 
<input type="text" id="param2" class="params"/> 
<input type="text" id="param3" class="params"/> 

Dann in Ihrem JS:

var callAjax = function(){  
    data = {}; 
    for(var i = 0; i < $('.params').length; i++){ 
     data[$('.params')[i].id] = $('.params')[i].val(); 
    } 
    $.ajax({ 
      global: false, 
      type: 'POST', 
      url: value, 
      dataType: 'html', 
      data: data, 
      success: function(result) { 
       console.log(result); 
      }, 
      error: function (request, status, error) { 
       serviceError(); 
      } 
     }); 
     } 
+0

zum Beispiel gab ich ihnen Nummern, sie haben unterschiedliche Namen. – diank

+0

Ich habe meinen Code aktualisiert – IsraGab

+0

okay, ich bearbeite meinen Code auch. Ich glaube nicht, dass dein Code das tut, was ich will. – diank

-1

Fügen Sie Ihren Wert in Array-Variable dann Pass auf Daten