如何在同一页面上将Javascript字符串传递给php


How to pass a Javascript string to php on the same page

我的页面混合了Javascript和php。Javascript用于从多个选项中选择一个字符串。然后一些php代码需要对这个字符串执行一些操作。

我看到一些例子,似乎是在谈论在不同的网页之间传递变量。我只是在一页纸上做这一切,我想传递的只是一个字符串。

我想另一个解决方案是使用php来选择字符串,如果可能的话?

当浏览器呈现页面时,PHP已经完成了它的工作并关闭了连接。

要使用js传递客户端上确定的一些值,您需要一个新的请求。这意味着您需要使用Ajax。

PHP解析服务器端的数据(页面加载前),而JavaScript处理浏览器端的所有内容(页面加载后的所有内容)。除非使用AJAX向PHP脚本发送一个变量:,否则无法将JavaScript传递到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);

您需要通过JavaScript向服务器发出请求,因为PHP是一种服务器端语言。您可以使用POST或GET变量将字符串发送到同一页面,然后在加载页面时添加PHP代码来检查该变量。

PHP将类似于:

if(isset($_POST['string'])) {
// do something with the string
}