2010-04-22 25 views
5

que tiene una matriz (por casillas de verificación) que necesito para pasar junto a la forma regular en un puesto de ajax, pero parece que no puede conseguir que esto funcione:Jquery matriz entrada a través de 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

¿Recibió errores? ¿Has intentado usar algo como Firebug para ver qué está pasando con la publicación de Ajax? Quizás sería útil incluir más código, ya que lo anterior no se ejecutará sin errores. –

Respuesta

7

I' m conseguir un error de JavaScript en esta línea

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

tuve que cambiarlo a este

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

que activa los J en jQuery en esta línea

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

debería ser esto (o simplemente los $ abreviada)

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

también, yo no piensa que necesita los soportes, en la mayoría de los casos harían más difícil recuperar los datos en el servidor

+0

Muchas gracias por mirar esto ... ¡No me había dado cuenta de que la 'J' tenía que ser minúscula! Además, tienes razón sobre los corchetes. ¡Todo se publica bien ahora! – Dan

7

Después de un reserach la única solución que funcionó para mí fue:

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

Además, el uso de 'opciones' con soportes , por lo que podrá recuperar en el servidor en una única variable, de lo contrario será una publicación para cada elemento de la matriz. Eso funcionó para mí. Puede ver otra publicación here at stackoverflow.

Espero que esto pueda ayudar a alguien en el futuro.

+0

Esto funcionó para mí ... pero hay un error tipográfico. Te falta una llave después de elegir, – Greg

+1

Se corrigió el problema de la llave que faltaba –

Cuestiones relacionadas