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

时间:2012-03-06 20:57:28

标签: php javascript string

我的页面混合了Javascript和php。 Javascript用于从多个选项中选择一个字符串。然后一些PHP代码需要用这个字符串做一些事情。

我见过一些似乎在讨论在不同网页上传递变量的例子。我只是在一个页面上执行此操作,而我尝试传递的只是一个字符串。

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

3 个答案:

答案 0 :(得分:4)

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

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

答案 1 :(得分:2)

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);

答案 2 :(得分:1)

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

PHP类似于:

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