Возможный дубликат:
Как задать javascript для ожидания значения mysql для переменной php?
Я слышал, как люди говорили, что php-коды будут загружены, а затем начнут загружать javascript. Info at Как спросить javascript ждать, когда mysql присваивает значение переменной php?
Но когда я писал:
<script type="text/javascript"> alert("<?php echo $username; ?>"); </script> <?php $username = "abc"; ?>
Он не может предупредить значение переменной php. Это потому, что сначала загружается javascript, а затем запускается загрузка php. Итак, факт сценария сервера-сервера завершен, а скрипт «Начать загрузку» запускается неправильно?
Если javascript можно выполнить до php, тогда у меня возникнет проблема с запросом javascript, ожидающим значение mysql для переменной php. Пожалуйста, помогите мне решить эту проблему. Как спросить javascript ждать, когда mysql присваивает значение переменной php?
PHP выполняется на веб-сервере, создавая страницу html (или любую другую), отображаемую браузером. JavaScript выполняется на стороне клиента, в браузере пользователя, поэтому php имеет, по определению, законченное выполнение перед выполнением JavaScript.
Вы, кажется, предполагаете, что php работает, затем выполняется JavaScript, там же . Это ошибка; проблема, с которой вы сталкиваетесь, заключается в том, что вы присваиваете переменной JavaScript значение переменной $username
до того, как скрипт php назначил / оценил переменную; который должен преобразовать на сервере:
<script type="text/javascript"> alert("<?php echo $username; ?>"); </script> <?php $username = "abc"; ?>
Кому, на клиенте:
<script type="text/javascript"> alert(""); </script>
Поэтому, хотя ваш скрипт, кажется, ничего не делает или делает не то, что делает, он делает именно то, что вы ему сказали. Вы должны немного изменить свой код:
<?php $username = "abc"; ?> <script type="text/javascript"> alert("<?php echo $username; ?>"); </script>
Это позволяет php оценивать / назначать переменную, а затем иметь переменную set / available в инструкции alert()
.
PHP запускается на сервере ПЕРЕД какой-либо из javascript анализируется. Вам нужно назначить свою переменную до ее использования. Это проблема выше.
PHP не загружает и не выполняет Javascript. Вот порядок исполнения:
Итак, да, PHP завершит выполнение до того, как будет выполнен Javascript.
Я слышал, как люди говорили, что php-коды будут загружены, а затем начнут загружать javascript.
Это абсолютно верно, сначала будут запускаться ваши сценарии сервера.
Причина, по которой он не alert()
состоит в том, что $username
еще не существует …
После запуска PHP-скрипта выполняется, если вы не вызываете больше из AJAX.
PHP запускается на веб-сервере. Он анализирует файл и возвращает HTML следующим образом:
<script type="text/javascript"> alert(""); </script>
Когда он достиг клиентской стороны, переменные больше не устанавливаются, как вы можете видеть.