Om interaktiewe kommunikasie tussen 'n besoeker en 'n webwerf (of eerder 'n blaaier met 'n webbediener) te organiseer, moet die programmeerder scenario's verskaf vir die uitruil van data tussen hulle. Kom ons kyk na 'n paar eenvoudige opsies om die oordrag van veranderlikes vanaf die JavaScript-kliënt-script na die bediener-PHP-script te organiseer en andersom.
Dit is nodig
Basiese kennis van PHP-, JavaScript- en HTML-tale
Instruksies
Stap 1
In die stadium van die vorming van bladsye is dit nie moeilik om 'n veranderlike saam met die waarde daarvan oor te dra van 'n php-script na 'n JavaScript-script nie. Die PHP-script genereer self die HTML-kode van die aangevraagde bladsy, insluitend die skrifte wat dit bevat. Dit beteken dat hy enige veranderlikes in die JavaScript-kode kan skryf wat saam met die waardes daarvan oorgedra moet word. Byvoorbeeld, hierdie php-skrip sal 'n veranderlike met die naam "serverTime" aan die kliënteskrip gee wat die huidige servertyd bevat in die formaat HOUR: MINUTE:
<? php
$ JSvarName = 'serverTime';
$ JSvarValue = datum ('H: i');
$ JScode = $ JSvarName. '= "'. $ JSvarwaarde. '";';
druk ''. $ JScode.'alert ("En nou op die bediener" + '. $ JSvarName.'); '
?>
Stap 2
Die eenvoudigste manier om die name en waardes van veranderlikes in die teenoorgestelde rigting deur te gee (van die JS-script in die blaaier van die kliënt na die PHP-script op die webbediener) kan so lyk in die HTML-kode van die bladsy:
var nou = nuwe datum ();
var varName = 'clientTime';
var varWaarde = now.getHours () + ":" + now.getMinutes ();
window.location.href = 'https://sa/test2.php?' + varName + '=' varwaarde;
Hierdie script sal die naam van die veranderlike "clientTime" en die waarde daarvan met die huidige rekenaartyd in dieselfde formaat HOUR: MINUTE na die script test2.php stuur. Hierdie metode om data oor te dra word 'sinchroon' genoem. Dit sal lei tot 'n onmiddellike herlaai van die bladsy. Meer presies, in plaas van die huidige bladsy, sal die resultaat van die test2.php-skrip in die blaaier gelaai word. Die kode vir hierdie php-script kan so lyk:
<? php
as ($ _ GET) eggo 'Ontvang veranderlike'.key ($ _ GET). '='. $ _ GET [sleutel ($ _ GET)];
?>
U kan al drie die oorweegse dele van die kode kombineer om veranderlikes van die bediener na die blaaier te stuur en weer in een php-lêer soos volg:
<? php
as ($ _ GET) eggo 'Ontvang veranderlike'.key ($ _ GET). '='. $ _ GET [sleutel ($ _ GET)];
$ JSvarName = 'serverTime';
$ JSvarValue = datum ('H: i');
$ JScode = $ JSvarName. '= "'. $ JSvarwaarde. '";';
druk ''. $ JScode.'alert ("En nou op die bediener" + '. $ JSvarName.'); '
?>
funksie sendData () {
var nou = nuwe datum ();
var varName = 'clientTime';
var varWaarde = now.getHours () + ":" + now.getMinutes ();
window.location.href = "https://sa/test2.php?" + varName + "=" + varwaarde;
keer vals terug;
}
Stuur data na bediener In hierdie gekombineerde (PHP + JavaScript) -skrip, sal die php-kode JavaScript-kode genereer deur 'n veranderlike genaamd 'serverTime' met 'waarde' wat die huidige servertyd bevat, te "deurgee". Wanneer die bladsy in die blaaier gelaai word, sal die JavaScript-script 'n boodskap vertoon. Dan klik die gebruiker op die skakel "Gegevens stuur na die bediener" om die sendData () -funksie te begin, wat 'n GET-versoek na die bediener stuur en die veranderlike naam ("clientTime") en die waarde daarvan (klienttyd) aan die php stuur. draaiboek. 'N PHP-script, wat die naam en waarde van 'n veranderlike in die $ _GET superglobale skikking gelees het, sal dit druk en die volledige beskrywe script weer begin.
Stap 3
Alles hierbo beskryf, implementeer die scenario van 'sinchrone' data-oordrag. Die implementering van die "asynchrone" metode vir die uitruil van data tussen kliënt- en bedienerskripte het sy eie naam AJAX (Asynchrone Javascript en XML). Hierdie onderwerp verdien 'n aparte artikel.