Come passare i dati da Javascript a PHP e viceversa?

Come posso passare avere uno script Javascript richiedere una pagina PHP e passare i dati ad esso? Come posso quindi fare in modo che lo script PHP passi i dati allo script Javascript?

Client.js:

data = {tohex: 4919, sum: [1, 3, 5]}; // how would this script pass data to server.php and access the response? 

server.php:

 $tohex = ... ; // How would this be set to data.tohex? $sum = ...; // How would this be set to data.sum? // How would this be sent to client.js? array(base_convert($tohex, 16), array_sum($sum)) 

Passare dati da PHP è facile, puoi generare JavaScript con esso. L’altro modo è un po ‘più difficile: devi invocare lo script PHP con una richiesta Javascript.

Un esempio (utilizzando il tradizionale modello di registrazione degli eventi per semplicità):

   call PHP script  

Qualunque cosa produca get_data.php , apparirà in httpc.responseText. La gestione degli errori, la registrazione degli eventi e la compatibilità XMLHttpRequest tra browser sono lasciati come semplici esercizi al lettore;)

Userei JSON come formato e Ajax (in realtà XMLHttpRequest) come meccanismo client-> server.

Mi imbatto in un problema simile l’altro giorno. Dire, voglio passare i dati dal lato client al server e scrivere i dati in un file di registro. Ecco la mia soluzione:

Il mio semplice codice lato client:

 < !DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">     Test Page      

E il codice php sul lato server:

 < ?php $fn = $_POST['fn']; $str = $_POST['str']; $file = fopen("/opt/lampp/htdocs/passVal/".$fn.".record","w"); echo fwrite($file,$str); fclose($file); ?> 

Spero che questo funzioni per te e per i futuri lettori!

Ci sono alcuni modi, il più importante è ottenere i dati del modulo o ottenere la stringa di query. Ecco un metodo che utilizza JavaScript. Quando fai clic su un link, chiamerà _vals (“mytarget”, “theval”) che invierà i dati del modulo. Quando la tua pagina viene postata, puoi controllare se i dati del modulo sono stati impostati e recuperarli dai valori del modulo.

  

In alternativa puoi ottenerlo tramite la stringa di query. PHP ha le tue funzioni globali _GET e _SET per ottenere questo risultato rendendola molto più semplice.

Sono sicuro che ci sono probabilmente più metodi che sono migliori, ma questi sono solo alcuni che mi vengono in mente.

EDIT: Partendo da ciò che altri hanno detto usando il metodo sopra, avresti un tag di ancoraggio come

 My Link 

E poi nel tuo PHP puoi ottenere i dati del modulo usando

 $val = $_POST['value']; 

Quindi, quando fai clic sul link che utilizza JavaScript, esso invierà i dati del modulo e quando la pagina tornerà da questo clic, potrai recuperarla dal PHP.

L’utilizzo dei cookie è un modo semplice. Puoi usare jquery e un plug-in come jquery.cookie o crearne uno tuo. Usando Jquery + jquery.cookie, per esempio

   < ?php var js_value = code to read a cookie ?> 

Ho trovato questo utile Framework lato server e ibrido: http://www.phplivex.com/ http://www.ashleyit.com/rs/

Ho usato lo script RSJS di Ashley per aggiornare i valori in HTML senza problemi per molto tempo fino a quando non ho incontrato JQuery (ajax, caricamento, ecc.)

Penso che tu abbia più o meno appena descritto Ajax .

(scusate la risposta concisa)

Puoi passare i dati da PHP a javascript ma l’unico modo per ottenere dati da javascript a PHP è tramite AJAX.

Il motivo è che puoi creare un javascript valido tramite PHP, ma per ottenere dati in PHP dovrai ricominciare a funzionare PHP, e dal momento che PHP esegue solo l’output, avrai bisogno di una pagina di ricaricamento o di una query asincrona.

l’altro modo per scambiare dati da php a javascript o viceversa è utilizzando i cookie, puoi salvare i cookie in php e leggerli dal tuo javascript, per questo non devi usare moduli o ajax

Dai un’occhiata a questo thread: Ottenere l’impostazione dei cookie su domini diversi, con javascript o altro

Lì ho scritto come usare ajax per leggere un cookie da un file php …