Intereting Posts
Группирование таблиц в базе данных Объединение сортируемой таблицы с выводом суммы флажка WooCommerce отображает имя продукта заказа в моей учетной записи что я могу сделать, чтобы оптимизировать следующую функцию или какую-то другую вещь, чтобы уменьшить потребление памяти? Оптимизирует ли PHP рекурсию хвоста? Inkscape внутри PHP / Apache не отображает шрифты в PNG Как создать массив из вывода var_dump в PHP? Код предназначен для загрузки файла excel (.xls) Ошибка Joomla: «Незаконные переменные _files или _env или _get или _post или _cookie или _server или _session или globals переданы скрипту ' Ajax-запрос ничего не возвращает. Зачем? php GD Library imagecopyrezised () обновляющий чат для каждого из пользователей Исключения PHP, обработанные обработчиком ошибок, не попадают в обработчик исключений Не удалось подключиться к Google cloud SQL. Использование PHP SDK Google Laravel 5.1: сохранить загруженный файл в качестве старого ввода

Как отправить данные с JavaScript на PHP и наоборот?

Как мне перейти на передачу данных с кода JavaScript на PHP и обратно. Прямо сейчас, я делаю это круглый путь:
PHP для JavaScript: я бы просто использовал встроенное эхо для отправки данных:

<script type="text/javascript"> var data = <? echo $target_variable ?> </script> 

ИЛИ

 <script type="text/javascript"> var data = <?= $target_variable ?> </script> 

JavaScript для PHP: я бы создал элемент формы в JavaScript, который бы подавил данные для меня в php-файл:

 <script type="text/javascript"> var data = targetData; document.write(" <form method=\"post\"> <input type=\"hidden\" value=\""+target_value+\""></input> </form> "); </script> </script> 

Есть ли лучшие способы сделать это? Лучшая практика.

Если вы хотите отправить эти данные через форму, вам не нужно создавать форму с помощью Javascript. Просто создайте невидимую форму с помощью HTML, заполните скрытое поле Javascript и автоматически отправляйте, когда будете готовы.

  <form method="post" action="process.php"> <input type="hidden" name="data" id="data" /> </form> document.getElementById("data").value = "foo"; 

Если вы хотите отправить это в стиле ajax-стиля, я бы предложил реализовать jQuery, что делает это чрезвычайно простым. Обратите внимание на предыдущий случай, преобразованный в решение jQuery:

 $.post("process.php", {data:"foo"}, function(results){ // the output of the response is now handled via a variable call 'results' alert(results); }); 

Следующий код показывает запрос ajax, который отправляет форму с вашей страницы в фоновом режиме с помощью jquery ajax. Надеюсь, это имеет смысл.

 <html> <head><title>Sample</title></head> <script language="javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.js"></script> <script language="javascript"> function submitMe() { variableString = 'name='+$("#name").val()+'&location='+$("#location").val(); jQuery.ajax({ type: "POST", url: "http://google.com/some.php", data: variableString, success: function(msg){ alert( "Data Saved: " + msg ); } }); } </script> <body> <form id="xyzForm"> <input type="text" id="name" name="name"/> <input type="text" id="location" name="location"/> <input type="button" value="submit" onClick="submitMe();"/> </form> </body> </html> 

Во-первых, вам нужно понять, что php и javascript работают на разных компьютерах.

Php работает на сервере, тогда как javascript запускается на клиентском компьютере. Это делает вещи немного недифференцированными. Я имею в виду, что php и javascript не могут напрямую изменять переменные, потому что они не запускаются одновременно. Первый php работает на сервере, подготавливает HTML и js и передает его клиенту, а затем на компьютере javascript работает на компьютере, если javascript нуждается в чем-то от сервера, он снова вызывает сервер (либо post, get, либо ajax не имеет значения, это еще http-запрос).

Таким образом, от php до javascript вы можете передать переменную при подготовке javascript, на которой pont запускает только php и javascript, а с javascript на php вы можете передать переменную, сделав запрос с компьютера клиента на ваш php-сервер с некоторыми переменные.

вы можете использовать GET или POST для передачи данных от одного к другому.

Самое лучшее, что вы можете сделать с парой PHP и JavaScript, – начать использовать функции json_encode () и json_decode () в PHP.

Это позволит получить данные в JSON, который является Обозначением объекта JavaScript, позволяющим передавать объекты между двумя языками. Вы можете сделать eval, как только получите его в JS, чтобы получить объект.

Фактически, перемещение данных должно зависеть от того, что вы делаете точно, но много раз я использую Ajax, и это было бы хорошим местом для начала.

Ну, если вы хотите асинхронного взаимодействия, вы можете использовать XMLHTTPRequest для выполнения запроса async POST на сервер, для отправки данных.