Как в ajax передать переменную из php

от admin

Получение значений переменных из PHP в AJAX

Имеется выпадающий список для выбора определенного человека, после его выбора необходимо с помощью AJAX ниже в поля input вывести его фамилию,имя,отчество и E-mail.

Вот часть из HTML:

PHP код,обрабатывающий выбранного человека:

Кривой AJAX,который должен получать значение переменных из PHP страницы

Подскажите,как правильно описать присвоение значений в SUCCESS, чтобы каждому полю INPUT присвоить значение полученной переменной.

Передать переменную из PHP в JavaScript

Мы представим способ передачи переменной PHP в JavaScript с помощью AJAX. Этот метод запрашивает данные с сервера PHP и запускается на клиентском компьютере.

Please enable JavaScript

Мы также продемонстрируем другой метод передачи переменной PHP в JavaScript путем экранирования PHP в JavaScript. Мы пишем JavaScript после сценариев PHP, чтобы избежать PHP.

Мы покажем вам еще один пример передачи переменной PHP в JavaScript с использованием короткого тега echo в JavaScript как <?=$var?> , Где <?=$var?> — это переменная PHP.

Используйте AJAX для передачи переменной PHP в JavaScript

Мы можем использовать AJAX для передачи данных и переменных с PHP-сервера в JavaScript. Этот метод имеет отдельные серверные и клиентские сценарии. Это делает код чище и улучшает читаемость кода. AJAX означает асинхронный JavaScript и XML. Он использует объект XMLHttpRequest для запроса данных с сервера. Он отображает данные с использованием JavaScript и HTML DOM. Этот процесс происходит асинхронно, что означает, что изменения на веб-странице происходят без ее перезагрузки. Однако при использовании AJAX в сетях возникает задержка, поскольку он отправляет HTTP-запрос. В этом методе мы пишем код JavaScript в файле PHP.

Например, создайте файл PHP с именем index.php . Напишите код JavaScript внутри тега <script> . Создайте переменную req , используя ключевое слово var . Создайте объект запроса функции XMLHttpRequest() и присвойте его переменной req . Вызвать функцию onload() с объектом req , используя выражение функции. Внутри функции используйте функцию console.log() для регистрации свойства this.responseText . Не забывайте заканчивать выражение функции точкой с запятой. Используйте объект req для вызова функции open() . Задайте get , get-data.php и true одновременно в качестве параметров функции. Вызвать функцию send() с объектом req . Создайте еще один файл PHP с именем get-data.php . Присвойте переменной var значение Mountain . Повторите функцию json_encode() с параметром var .

В приведенном ниже примере мы создали объект запроса с помощью функции XMLHttpRequest() . Функция onload() обрабатывает операцию, которая будет выполняться во время ответа. Функция open() определяет метод HTTP, файл PHP, который отправляет ответ JSON, и логическое значение, которое контролирует остальную часть выполнения скрипта. Функция json_encode() в файле get-data.php отправляет ответ в формате JSON. Здесь мы напечатали в консоли переменную $var .

Используйте JavaScript, чтобы избежать сценариев PHP для передачи переменной PHP в JavaScript

Мы можем использовать JavaScript после тегов PHP, чтобы избежать сценариев PHP. Мы можем создать переменную PHP в скрипте PH P. Затем мы можем написать JavaScript, чтобы избежать написанного выше PHP и передать переменную внутри кода JavaScript. Внутри JavaScript мы можем использовать тег PHP, чтобы отобразить переменную PHP, назначив ее переменной JavaScript.

Например, присвоить значение Metallica переменной $var внутри тегов PHP. Напишите тег скрипт и внутри него напишите тег PHP. Внутри тега PHP отобразите переменную JavaScript jsvar . Назначьте переменную PHP $var на jsvar . Не забудьте заключить в кавычку $var и точку с запятой после нее. Закройте тег PHP и зарегистрируйте значение jsvar с помощью функции console.log() . Закройте тег скрипт . В приведенном ниже примере мы зарегистрировали переменную PHP $var в консоли с помощью JavaScript. Мы видим вывод в консоли веб-страницы.

Используйте короткий эхо-тег PHP <?=?> Внутри JavaScript для передачи переменной PHP в JavaScript

Мы можем использовать короткий эхо-тег PHP внутри JavaScript, чтобы передать переменную PHP в JavaScript. Мы можем использовать короткий PHP-тег echo, чтобы избавиться от хлопот с написанием PHP-тега и оператора echo . Это короткий метод. Этот метод очень похож на второй метод с точки зрения концепции и исполнения.

Передача переменных и данных из PHP в JavaScript

У меня есть переменная в PHP, и мне нужно получить ее значение в JavaScript. Как можно это сделать?

У меня есть код PHP, который выглядит так:

<?php

.

$val = $myService->getValue();

?>

И код JavaScript, который требует val и выглядит следующим образом:

<script>

myPlugin.start($val); // я пытаюсь получить ее здесь, но это не работает

<?php myPlugin.start($val); ?>// не работает

myPlugin.start(<?=$val?> // иногда работает, иногда нет

</script>

Ответ 1

  1. Используйте AJAX для получения необходимых данных с сервера.

  2. Выведите данные куда-нибудь на страницу и используйте JavaScript для получения информации из DOM.

  3. Выведите данные прямо в JavaScript.

Используйте AJAX для получения необходимых данных с сервера.

  • Лучшее разделение между слоями. Если вы перестанете использовать PHP и захотите перейти к сервлету, REST API или какой-либо другой службе, вам не придется менять большую часть кода JavaScript.

  • Более читабельный . JavaScript – это JavaScript, PHP – это PHP. Не смешивая их, вы получаете более читаемый код на обоих языках.

  • Обеспечивает асинхронную передачу данных – получение информации из PHP может потребовать больших затрат времени и ресурсов. Иногда вы просто не захотите ждать информацию, загружать страницу и получать к ней доступ.

  • Данные не находятся непосредственно в разметке – это означает, что ваша разметка очищена от любых дополнительных данных и только JavaScript видит их.

  • Задержка – AJAX создает HTTP-запрос, а HTTP-запросы передаются по сети и имеют сетевые задержки.

  • Состояние – данные, полученные с помощью отдельного HTTP-запроса, не будут включать никакой информации из HTTP-запроса, по которому был получен HTML-документ. Вам может понадобит ь ся эта информация (например, если HTML-документ создается в ответ на отправку формы), и, если вы это сделаете, вам придется каким-то образом передать ее. Если вы исключили встраивание данных на страницу (которая у вас есть, если вы используете этот метод), это ограничивает вас файлами cookie/sessions, которые могут быть предметом конкуренции.

Читать:
Db browser for sqlite как пользоваться

Пример реализации

С AJAX вам нужны две страницы, одна из которых — это то, где PHP генерирует вывод, а вторая — где JavaScript получает его:

get-data.php

index.php

<script>

function reqListener () <

console.log(this.responseText);

>

var oReq = new XMLHttpRequest(); // требуемый объект

oReq.onload = function() <

// Здесь вы определяете, что делать с ответом.

// Фактические данные находятся в this.responseText

alert(this.responseText);

>;

oReq.open(«get», «get-data.php», true);

oReq.send();

</script>

Вышеупомянутая комбинация двух файлов отобразит предупреждение «42», когда файл завершит загрузку.

Выведите данные куда-нибудь на страницу и используйте JavaScript для получения информации из DOM.

  1. Быстро – операции DOM часто бывают быстрыми, и вы можете относительно быстро хранить и получать доступ к большому количеству данных.

  1. Потенциально неопределенная разметка . Обычно для хранения информации используется что-то вроде <input type=hidden>, потому что проще получить информацию из inputNode.value, но это означает, что у вас есть бессмысленный элемент в HTML. В HTML есть элемент <meta> для данных о документе, а в HTML5 появились атрибуты data-* для данных, специально предназначенных для чтения с помощью JavaScript, которые могут быть связаны с определенными элементами.

  2. Загрязняет источник . Данные, которые генерирует PHP, выводятся непосредственно в HTML, что означает, что вы получаете большой HTML.

  3. Труднее получить структурированные данные . С труктурированные данные должны быть валидным HTML, иначе вам придется самостоятельно выводить и преобразовывать строки.

  4. Тесная связь PHP с логикой данных . Поскольку PHP используется в представлении, вы не можете разделить эти два понятия.

Пример реализации

Идея состоит в том, чтобы создать какой-то элемент, который не будет отображаться на странице, но будет виден JavaScript.

index.php

<div style=»display: none;»>

<?php

$output = «42»; // результат операции для вывода

echo htmlspecialchars($output); // необходимо экранировать, т.к. результат не будет корректным в HTML

?>

</div>

<script>

var div = document.getElementById(«dom-target»);

var myData = div.textContent;

</script>

Выведите данные прямо в JavaScript.

  • Очень легко реализуется – требуется совсем немного времени для реализации.

  • Не загрязняет исходный код – переменные выводятся непосредственно в JavaScript, поэтому DOM не затрагивается.

  • Тесно связывает PHP с вашей логикой данных – поскольку PHP используется в представлении и вы не можете разделить их.

Пример реализации

Реализация относительно проста:

<script>

var data = <?php echo json_encode(«42», JSON_HEX_TAG); ?>;

</script>

Ответ 2

Я обычно использую атрибуты data- * в HTML.

<div data-service=»<?php echo $myService->getValue(); ?>»>

</div>

<script>

$(document).ready(function() <

$(‘.service-container’).each(function() <

var container = $(this);

var service = container.data(‘service’);

>);

>);

</script>

В этом примере используется jQuery, но его можно адаптировать для другой библиотеки или Vanilla JavaScript.

Ответ 3

Воспользуйтесь одним из следующих способов :

<script type=»text/javascript»>

var js_variable = ‘<?php echo $php_variable;?>’;

<script>

Или

<script type=»text/javascript»>

var js_variable = <?php echo json_encode($php_variable); ?>;

</script>

Мы будем очень благодарны

если под понравившемся материалом Вы нажмёте одну из кнопок социальных сетей и поделитесь с друзьями.

Как передать переменную из PHP в JQuery Ajax, как для параметра URL?

Я новичок в области JavaScript, поэтому у меня есть путаницы. Прежде всего, я пытаюсь загрузить данные таблицы базы данных, когда я нажимаю какой-либо текст, где я упоминал событие onclick внутри тега, который закрывает некоторый текст. Каждый текст также извлекается из базы данных. Таким образом, это означает, что у них есть выделенный для них идентификатор (некоторый текст).
Проблема в том, как передать идентификатор конкретной строки в JQuery ajax show, чтобы ее можно было передать вместе с ajax url в другой php файл?

Похожие статьи