我的页面混合了Javascript和php。 Javascript用于从多个选项中选择一个字符串。然后一些PHP代码需要用这个字符串做一些事情。
我见过一些似乎在讨论在不同网页上传递变量的例子。我只是在一个页面上执行此操作,而我尝试传递的只是一个字符串。
我想另一种解决方案是使用php来选择字符串,如果可能的话?
答案 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
}