Come posso inviare un array JavaScript come variabile JSON nella mia richiesta AJAX?Invia un array JavaScript come valore JSON?
risposta
Ciò richiede di serializzare l'array JavaScript in una stringa, somethi ng che può essere fatto facilmente usando l'oggetto JSON.
var myArray = [1, 2, 3];
var myJson = JSON.stringify(myArray); // "[1,2,3]"
....
xhr.send({
data:{
param: myJson
}
});
Come l'oggetto JSON non è presente nei browser meno recenti si dovrebbe includere Douglas Crockfords json2 biblioteca
Se già contare su qualche libreria che include metodi per la codifica/serializzazione quindi è possibile utilizzare questo invece. Per esempio. ExtJs ha Ext.encode
Se non si utilizza una libreria javascript (jQuery, prototype.js, ecc) che farà questo per voi, si può sempre utilizzare il example code from json.org
Basta codificare l'array e inviarlo come parte della vostra AJAX recuest:
http://www.openjs.com/scripts/data/json_encode.php
ci sono troppi altri encoder, o anche plugin per jQuery e Mootools: D
Ecco un esempio:
var arr = [1, 2, 3];
$.ajax({
url: "get.php",
type: "POST",
data: {ids:arr},
dataType: "json",
async: false,
success: function(data){
alert(data);
}
});
In get.php:
echo json_encode($_POST['ids']);
Array viene convertito in oggetto utilizzando {ids: arr}, passare l'oggetto stesso e lasciando jQuery eseguire la formattazione della stringa di query.
- 1. Array Javascript nell'array JSON
- 2. Invia array al controller MVC tramite JSON?
- 3. Javascript come analizzare array JSON
- 4. JSON array JavaScript
- 5. Invia un modulo come JSON (no AJAX)
- 6. Invia dati da Python a Javascript (JSON)
- 7. Array JSON convertito in array Javascript
- 8. Invia array da Flash (AS3) a JavaScript
- 9. Prettify JSON array in JavaScript
- 10. come convertire json/array da ajax responseText in javascript array?
- 11. Come trasporre un oggetto javascript in un array chiave/valore
- 12. invia un valore generato a caso alla funzione javascript onclick
- 13. Come convertire un array tipizzato JavaScript in un array JavaScript
- 14. convertito JSON array per javascript gamma
- 15. Converti stringa JSON per array di Javascript
- 16. Invia nidificati JSON utilizzando AFNetworking
- 17. Invia JSON a webmethod?
- 18. Come deserializzare un array JSON utilizzando Newtonsoft.Json
- 19. Utilizzare un array JSON con oggetti con javascript
- 20. Javascript: Ottenere tutte le chiavi esistenti in un array JSON
- 21. Trova valore in JSON da javascript
- 22. JQuery invia oggetto JSON a un server
- 23. Conversione di un array JSON in un array Bash
- 24. Come ordinare un array (associativo) per valore?
- 25. javascript/jquery: crea e invia modulo virtuale
- 26. Invia messaggio di errore come oggetto JSON
- 27. Come creare il seguente tipo di array json usando javascript?
- 28. Come si crea array JavaScript (formato JSON) in modo dinamico?
- 29. Javascript: Come verificare se array di risposta JSON è vuoto
- 30. invia json object con httparty
Quindi tutto ciò crea una stringa: "[1,2,3]" ... Ma cosa succede se voglio inviare una stringa che inizia e finisce con [], sarà il lato server in grado di dire al differenza? – thedp
Non hai detto JSON? Questo è per definizione solo il formato del contenuto di una stringa. Se in effetti volevi inviare un _array_ al server, questa è una domanda diversa. Ma detto questo, se uno degli elementi nella matrice contiene [o], allora verrà automaticamente sfuggito dal metodo di serializzazione. –
Ho provato un esempio fisso inviando la stringa "[1,2,3]" al server usando ajax/json. Ma quando controllo il valore ricevuto con $ val [0] mi dà: "[". Devo elaborare l'array JSON sul lato server prima di poterlo utilizzare? – thedp