2008-11-18 11 views

Respuesta

18

Puede publicar de nuevo en su servidor con XML o JSON. Tu javascript tendrá que construir la publicación, que en el caso de XML requeriría que la crees en javascript. JSON no solo es más liviano sino también más fácil de hacer en javascript. Consulte JSON-PHP para analizar JSON.

Es posible que desee echar un vistazo a Creating JSON Data in PHP

+1

me encontré con esto como la mejor respuesta, ya que no se pegue a cualquier marco de Javascript en particular. – Lucia

+0

ni siquiera tiene que ser XML o JSON, puede publicar una cadena CSV o cualquier cosa – annakata

+1

La biblioteca JSON-PHP fuzzymonk insinuada es obsoleta y la implementación más rápida ya está en PHP. Consulte el manual para las funciones json_encode y json_decode. –

1

Usted puede estar buscando una manera de Serialize (versión jQuery) los datos.

+1

Solo para agregar algo de información, pude encontrar la versión de Protoype de este consejo en http://www.prototypejs.org/api/object – Lucia

3

IIRC, si PHP ve una cadena de consulta que se parece a http://blah.com/test.php?var[]=foo&var[]=bar&var[]=baz, creará automáticamente una matriz llamada $var que contiene foo, bar y baz. Creo que incluso puede especificar el índice de matriz entre los corchetes de la cadena de consulta y pegará el valor en ese índice. Es posible que necesite codificar URL entre corchetes ... La manera habitual en que se utiliza esta característica es creando un campo de entrada HTML con el nombre "var []", así que haga lo que el navegador normalmente hace allí. Hay una sección en la documentación de PHP sobre variables de matriz a través de la solicitud.

0

Puede crear una matriz y enviarlo, según lo recomendado Meador: (siguiente código es Mootooled, pero similares en otras bibliotecas/plain old JS)

myArray.each(function(item, index) myObject.set('arrayItems['+index+']', item); 
myAjax.send(myObject.toQueryString()); 

que enviará a php una matriz llamada arrayItems , que se puede acceder a través de $ _POST [ 'arrayItems']

echo $_POST['arrayItems'] ; 

hará eco de algo así como: array => {[0] => 'a primera hora', [1] => segunda cosa}

26

Es posible hacer método de jQuery (por ejemplo) que con $ .post:

var myJavascriptArray = new Array('jj', 'kk', 'oo'); 

$.post('urltocallinajax', {'myphpvariable[]': myJavascriptArray }, function(data){ 
    // do something with received data! 
}); 

PHP recibirá un arreglo que será nombrar myphpvariable y contendrá los valores myJavascriptArray.

¿Es eso?

+0

como esta solución .. – bingjie2680

+0

+1. ¡Muchas gracias! He estado tratando de descubrir cómo hacer esto por un tiempo. – Nathan

1

jQuery 1.4 se actualizó para utilizar la sintaxis de PHP para enviar matrices. Se puede cambiar en el viejo estilo usando:

aquí es el synatax:

jQuery.ajaxSetting.traditional = true; 

aquí es el ejemplo

$.ajax({  
traditional: true, 
type: "post", 
url: myURL, 
dataType: "text", 
data: dataToSend, //this will be an array eg. 
success: function(request) { 
    $('#results').html(request); 
} // End success 
}); // End ajax method 
Cuestiones relacionadas