Прежде всего, невозможно вызвать функции PHP напрямую из JavaScript или наоборот. Это связано с тем, что PHP - это сценарий на стороне сервера, работающий на сервере, а JavaScript - это сценарий на стороне клиента, работающий в браузере.
Но есть решение, использующее технику под названием " AJAX " ( A синхронный J avaScript a nd X ML), который можно использовать для отправки запроса на сервер из JavaScript.
Например, используя страницу «пользователь», которую видит пользователь, и страницу «запрос», которая вызывается из кода JavaScript, я мог бы написать следующий код:
userpage.php
<!-- JavaScript code -->
<script type="text/javascript">
function sendRequestToServer()
{
// The XMLHttpRequest object is used to make AJAX requests
var ajax = new XMLHttpRequest();
// The onreadystatechange function will be called when the request state changes
ajax.onreadystatechange = function()
{
// If ajax.readyState is 4, then the connection was successful
// If ajax.status (the HTTP return code) is 200, the request was successful
if(ajax.readyState == 4 && ajax.status == 200)
{
// Use ajax.responseText to get the raw response from the server
alert(ajax.responeText);
}
}
// Open the connection with the open() method
// (the third parameter is for "asynchronous" requests, meaning that
// JavaScript won't pause while the request is processing).
ajax.open('get', 'requestpage.php', true);
// Send the request using the send() method
ajax.send();
}
</script>
<!-- HTML code -->
<button onclick="sendRequestToServer();">Send request!</button>
requestpage.php (выходные данные этой страницы будут возвращены в ваш код JavaScript):
<?php
echo "Hello World!";
?>
В этом примере при нажатии кнопки сервер отправляет HTTP-запрос с запросом requestpage.php , где сервер выполняет некоторый код на стороне сервера и отображает результат. Затем браузер будет принимать данные, полученные с сервера, и использовать их в сценарии - в данном случае alert()
it.
Некоторые ресурсы:
Возможно, вы также захотите проверить кодировку JSON, которая является очень распространенным методом отправки объектов и массивов между клиентами и серверами (особенно при использовании AJAX):
(Извините за такой длинный ответ, надеюсь, это помогло)