2011-12-25 20 views
7

Me preguntaba si su posible para pasar los datos almacenados en una matriz de JavaScript en el servidor mediante la función ajax de jQuery ..pasando datos en una matriz de JavaScript al servidor con la función de publicación jQuery.ajax?

En la documentación de jQuery se especifica:

$.ajax({ 
    type: 'POST', 
    url: url, 
    data: data, 
    success: success, 
    dataType: dataType 
}); 

puede "datos" ajustarse a ¿una matriz? ¿Cómo funcionaría esto dado que parece que los datos esperan pares de valores clave? Me código actualmente sólo difícil, sino los valores que quiero que sea un código actual approach..my más dinámico es:

jQuery.ajax({ 
      url: "/createtrips/updateitin", 
      type: 'POST', 
      data: {place1: 'Sydney', place2: 'London'}, 
      dataType: 'json', 
      }); 

Respuesta

8

I creó una matriz de esta manera:

var placesfortrip = {}; 

continuación se añadió a ello como esto:

placesfortrip["item"+counter] = inputVal; 

(donde counter es una variable de contador incrementado) continuación, se asigna esto a la propiedad data de la llamada ajax

jQuery.ajax({ 
      url: "/createtrips/updateitin", 
      type: 'POST', 
      data: placesfortrip, 
      dataType: 'json', 
      }); 

y si miro la pestaña XHR en Firebug aparece esos valores quedan informados!

2

Sí, jQuery.ajax() soporta el paso de matrices. Simplemente serializa la matriz en una cadena de nombre-valor.

Si el valor es un Array, jQuery serializa múltiples valores con la misma clave basados ​​en el valor de la configuración traditional (descrito a continuación).

0

Salida jQuery serializar: http://api.jquery.com/serialize/

$('form').submit(function() { 
    alert($(this).serialize()); 
    return false; 
}); 
This produces a standard-looking query string: 

a=1&b=2&c=3&d=4&e=5 
+0

¿Tiene un ejemplo? No parece ser compatible con serializar (?) – Rowan

Cuestiones relacionadas