2010-04-22 20 views
5

Ich habe ein Array (für Kontrollkästchen), die ich brauche neben der regulären Form in einer Ajax-Post zu übergeben, aber kann nicht scheinen, um diese an der Arbeit:JQuery Post-Array über Ajax

new_data = [a,b,c,d,e]; 

somedata_assoc = JQuery.param({'choices[]': new_data}); 

    $.ajax({ 
     type: "POST", 
    url: contract_qurl, 
    data: $(div).find("form").serialize()+"&"+somedata_assoc, 
    context: $(this), 
    success: function(data) { $("#results_table").html(data); } 
    }); 
+0

Erhalten Sie Fehler? Hast du versucht, etwas wie Firebug zu benutzen, um zu sehen, was mit dem Ajaxpost passiert? Vielleicht würde es helfen, wenn Sie mehr Code enthalten, da das oben genannte nicht ohne Fehler läuft. –

Antwort

7

I‘ m immer ein Javascript-Fehler auf dieser Linie

new_data = [a,b,c,d,e]; 

ich es auf diese

ändern musste
new_data = ['a','b','c','d','e']; 

Sie die J in jQuery in dieser Zeile aktiviert

somedata_assoc = JQuery.param({'choices[]': new_data}); 

sollte diese (oder auch nur die $ Stenografie) sein

somedata_assoc = jQuery.param({'choices': new_data}); 

auch, ich glaube nicht, Sie die Klammern müssen in den meisten Fällen würden sie machen es schwieriger, die Daten auf dem Server abzurufen

+0

Vielen Dank für das Übersehen ... Ich wusste nicht, dass das 'J' Kleinbuchstaben sein musste! Außerdem hast du recht mit den Klammern. Alles passt jetzt gut! – Dan

7

nach einer Reserach die einzige Lösung, die für mich gearbeitet wurde:

url='url/to/page' 
choices = [1,2,3,4,5,6] 
    $.post(url,{ 'choices[]': choices }, function(data){ 
      console.log(data); 
    },'html'); 

auch use 'Auswahl' mit Klammern , so können Sie im Server in einer einzelnen Variable retrive, andernfalls wird es ein Beitrag für jedes Array-Element sein. Das hat für mich funktioniert. Sie können einen anderen Beitrag here at stackoverflow sehen.

Ich hoffe, dass dies in der Lage sein wird, jemanden in der Zukunft zu helfen.

+0

Das funktionierte für mich .. aber es ist ein Tippfehler. Nach der Auswahl fehlt eine geschweifte Klammer, – Greg

+1

Das fehlende geschweifte Klammerproblem wurde behoben –