我的页面混合了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
}