Kuidas Edastada Muutujat

Sisukord:

Kuidas Edastada Muutujat
Kuidas Edastada Muutujat

Video: Kuidas Edastada Muutujat

Video: Kuidas Edastada Muutujat
Video: Kuidas saata pakki smartpostiga? @Kuidas?? TV (08.11.2020) 2024, Mai
Anonim

Interaktiivse suhtluse korraldamiseks külastaja ja veebisaidi (õigemini veebiserveriga brauseri) vahel peab programmeerija pakkuma stsenaariume nende omavahelise andmevahetuse jaoks. Mõelgem mitmele lihtsale võimalusele muutujate edastamise korraldamiseks kliendi JavaScrip skriptilt serveri PHP skripti ja vastupidi.

Andmete edastamine PHP-st JavaScripti ja vastupidi
Andmete edastamine PHP-st JavaScripti ja vastupidi

See on vajalik

Põhiteadmised PHP, JavaScripti ja HTML keeltest

Juhised

Samm 1

Lehe moodustamise etapis pole keeruline muutujat koos selle väärtusega PHP-skriptist JavaScripti skripti üle kanda. PHP-skript genereerib ise taotletud lehe HTML-koodi, sealhulgas selles sisalduvad skriptid. See tähendab, et ta saab JavaScripti koodi kirjutada kõik muutujad, mis tuleks edastada koos nende väärtustega. Näiteks edastab see php-skript kliendi skriptile muutuja nimega "serverTime", mis sisaldab praegust serveri aega vormingus HOUR: MINUTE:

<? php

$ JSvarName = 'serverTime';

$ JSvarValue = kuupäev ('H: i');

$ JScode = $ JSvarName. '= "'. $ JSvarValue. '";';

print ''. $ JScode.'alert ("Ja nüüd serveris" + '. $ JSvarName.'); '

?>

Muutuja ja selle väärtuse edastamine PHP-st Javascriptile
Muutuja ja selle väärtuse edastamine PHP-st Javascriptile

2. samm

Lihtsaim viis muutujate nimede ja väärtuste edastamiseks vastassuunas (alates kliendi brauseri JS-skriptist veebiserveri PHP-skripti) võib lehe HTML-koodis välja näha järgmine:

var now = uus kuupäev ();

var varName = 'klientTime';

var varValue = now.getHours () + ":" + now.getMinutes ();

window.location.href = 'https://sa/test2.php?' + varName + '=' varValue;

See skript saadab skriptile test2.php muutuja "clientTime" nime ja selle väärtuse, mis sisaldab praegust arvuti aega samas vormingus HOUR: MINUTE. Seda andmete edastamise meetodit nimetatakse "sünkroonseks" - see toob kaasa lehe kohese uuesti laadimise. Täpsemalt öeldes laaditakse brauserisse praeguse lehe asemel skripti test2.php tulemus. Selle php-skripti kood võib välja näha järgmine:

<? php

if ($ _ GET) kaja 'Saadud muutuja'.klahv ($ _ GET). '='. $ _ GET [võti ($ _ GET)];

?>

Muutujate edastamiseks serverist brauserisse ja tagasi ühte PHP-faili saate kombineerida kõik kolm kaalutavat koodi osa:

<? php

if ($ _ GET) kaja 'Saadud muutuja'.klahv ($ _ GET). '='. $ _ GET [võti ($ _ GET)];

$ JSvarName = 'serverTime';

$ JSvarValue = kuupäev ('H: i');

$ JScode = $ JSvarName. '= "'. $ JSvarValue. '";';

print ''. $ JScode.'alert ("Ja nüüd serveris" + '. $ JSvarName.'); '

?>

funktsioon sendData () {

var now = uus kuupäev ();

var varName = 'klientTime';

var varValue = now.getHours () + ":" + now.getMinutes ();

window.location.href = "https://sa/test2.php?" + varName + "=" + varValue;

return false;

}

Andmete saatmine serverile Selles kombineeritud (PHP + JavaScripti) skriptis genereerib php-kood JavaScripti koodi, edastades muutuja nimega "serverTime" väärtusega, mis sisaldab praegust serveri aega. Kui leht on brauserisse laaditud, kuvab JavaScripti skript selle ajaga sõnumi. Seejärel klõpsates lingil "Saada andmed serverile", käivitatakse funktsioon sendData (), mis saadab serverile GET-päringu, edastades muutuja nime ("klientTime") ja selle väärtuse (kliendi aeg) php-le stsenaarium. PHP-skript, olles lugenud muutuja nime ja väärtuse superglobaalsest massiivist $ _GET, prindib selle ja käivitab kogu kirjeldatud skripti uuesti.

Muutujate ja nende väärtuste vahetamine PHP ja JavaScripti vahel
Muutujate ja nende väärtuste vahetamine PHP ja JavaScripti vahel

3. samm

Kõik ülalkirjeldatu rakendab andmete sünkroonse edastamise stsenaariumi. Kliendi ja serveri skriptide vahelise andmevahetuse "asünkroonse" meetodi rakendamisel on oma nimi AJAX (asünkroonne Javascript ja XML). See teema väärib eraldi artiklit.

Soovitan: