Как передать строку JavaScript в php на той же странице - PullRequest
0 голосов
/ 07 марта 2012

На моей странице есть смесь Javascript и php. Javascript используется для выбора строки из нескольких вариантов. Затем некоторый php-код должен что-то сделать с этой строкой.

Я видел несколько примеров, в которых говорилось о передаче переменных по разным веб-страницам. Я просто делаю все это на одной странице, и все, что я пытаюсь передать, это строка.

Я думаю, что другим решением было бы использовать php для выбора строки, если это возможно?

Ответы [ 3 ]

4 голосов
/ 07 марта 2012

К тому времени, когда ваш браузер отображает страницу, PHP завершил свою работу и закрыл соединение.

Для передачи некоторого значения, определенного на стороне клиента, с помощью js вам нужен новый запрос. Это означает, что вам нужно использовать Ajax.

2 голосов
/ 07 марта 2012

PHP анализирует данные на стороне сервера ( до загрузки страницы), тогда как JavaScript обрабатывает все на стороне браузера ( после или при загрузке страницы).Вы не можете передать JavaScript в функции PHP, если не используете AJAX для отправки сценарию PHP переменной:

JavaScript

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js">

<script type="text/javascript">
   // Find whatever string you need
   var something = $('.input').val();

   $(function() {
      $.ajax({
         url: '/path/to/php_script.php',
         type: 'POST',
         data: 'variable='+something,
         success: function(data) {
            $('.display_div').html(data);
         }
      });
   });

</script>

PHP

$something = $_POST['variable'];

// Do something with it
echo strlen($something);
1 голос
/ 07 марта 2012

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

PHP будет выглядеть примерно так:

if(isset($_POST['string'])) {
// do something with the string
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...