Айнымалыны қалай беруге болады

Мазмұны:

Айнымалыны қалай беруге болады
Айнымалыны қалай беруге болады

Бейне: Айнымалыны қалай беруге болады

Бейне: Айнымалыны қалай беруге болады
Бейне: ҚАЛАЙ AliExpress-тен ГЕНИАЛЬНО ЗАКАЗ БЕРУГЕ БОЛАДЫ? 2024, Мамыр
Anonim

Келуші мен веб-сайттың (дәлірек айтсақ, веб-сервері бар браузер) арасындағы интерактивті байланысты ұйымдастыру үшін бағдарламалаушыға олардың арасында мәліметтер алмасудың сценарийлері ұсынылуы керек. Айнымалыларды клиенттің JavaScript сценарийінен серверге PHP сценарийіне және керісінше беруді ұйымдастырудың бірнеше қарапайым нұсқаларын қарастырайық.

PHP-ден JavaScript-ке деректерді жіберу және керісінше
PHP-ден JavaScript-ке деректерді жіберу және керісінше

Бұл қажетті

PHP, JavaScript және HTML тілдерін білу

Нұсқаулық

1-қадам

Бетті қалыптастыру кезеңінде айнымалыны php сценарийінен JavaScript сценарийіне мәнімен бірге тасымалдау қиын емес. PHP сценарийі өзі сұратылған парақтың HTML кодын, оның құрамындағы сценарийлерді жасайды. Бұл дегеніміз ол JavaScript кодына кез-келген айнымалыларды, олардың мәндерімен бірге жаза алады дегенді білдіреді. Мысалы, бұл php сценарийі клиенттің сценарийіне «serverTime» деп аталатын айнымалыны береді, ол ағымдағы сервер уақытын HOUR: MINUTE форматында қамтиды:

<? php

$ JSvarName = 'serverTime';

$ JSvarValue = күн ('H: i');

$ JScode = $ JSvarName. '= «'. $ JSvarValue. '»;';

print ''. $ JScode.'alert («Ал қазір серверде» + '. $ JSvarName.'); '

?>

PHP-ден Javascript-ке айнымалыны және оның мәнін беру
PHP-ден Javascript-ке айнымалыны және оның мәнін беру

2-қадам

Айнымалылардың атаулары мен мәндерін қарсы бағытта берудің қарапайым тәсілі (клиенттің шолғышындағы JS сценарийінен веб-сервердегі PHP сценарийіне дейін) парақтың HTML кодында келесідей болуы мүмкін:

var now = жаңа күн ();

var varName = 'clientTime';

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

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

Бұл сценарий test2.php сценарийіне «clientTime» айнымалысының атауын және оның мәнін компьютердің ағымдағы уақытын бірдей форматта HOUR: MINUTE жібереді. Деректерді берудің бұл әдісі «синхронды» деп аталады - бұл бетті тез арада қайта жүктеуге әкеледі. Дәлірек айтсақ, ағымдағы беттің орнына test2.php сценарийінің нәтижесі шолғышқа жүктеледі. Бұл php сценарийінің коды келесідей болуы мүмкін:

<? php

егер ($ _ GET) echo 'Алынған айнымалы'.key ($ _ GET). '='. $ _ GET [кілт ($ _ GET)];

?>

Айнымалыларды серверден браузерге жіберуге арналған кодтың барлық қарастырылған үш бөлігін және келесідей бір PHP файлына біріктіруге болады:

<? php

егер ($ _ GET) echo 'Алынған айнымалы'.key ($ _ GET). '='. $ _ GET [key ($ _ GET)];

$ JSvarName = 'serverTime';

$ JSvarValue = күн ('H: i');

$ JScode = $ JSvarName. '= «'. $ JSvarValue. '»;';

print ''. $ JScode.'alert («Ал қазір серверде» + '. $ JSvarName.'); '

?>

sendData () функциясы {

var now = жаңа күн ();

var varName = 'clientTime';

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

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

жалған қайтару;

}

Деректерді серверге жіберу Осы біріктірілген (PHP + JavaScript) сценарийде php коды JavaScript кодын «serverTime» деп аталатын айнымалыны ағымдағы сервер уақытын қамтитын «жіберу» арқылы жасайды. Парақ браузерге жүктелгенде, JavaScript сценарийінде осы уақытқа хабарлама шығады. Содан кейін пайдаланушы «Деректерді серверге жіберу» сілтемесін басқанда sendData () функциясы іске қосылады, ол серверге GET сұранысын жібереді, айнымалы атауын («clientTime») және оның мәнін (клиент уақыты) php-ге жібереді. сценарий. PHP сценарийі айнымалының аты мен мәнін $ _GET суперглобал массивінен оқып, оны басып шығарады және бүкіл сипатталған сценарийді қайта бастайды.

PHP мен JavaScript арасындағы айнымалылар мен олардың мәндерінің алмасуы
PHP мен JavaScript арасындағы айнымалылар мен олардың мәндерінің алмасуы

3-қадам

Жоғарыда сипатталғандардың барлығы деректерді берудің «синхронды» сценарийін жүзеге асырады. Клиенттік және серверлік сценарийлер арасында мәліметтер алмасудың «асинхронды» әдісін жүзеге асырудың өзіндік AJAX атауы бар (Asynchronous Javascript және XML). Бұл тақырып бөлек мақалаға лайық.

Ұсынылған: