如何在同一页上将Javascript字符串传递给php
我的页面混合使用Javascript和php。 Javascript被用来从几个选择中选择一个字符串。然后一些php代码需要对这个字符串做些什么。如何在同一页上将Javascript字符串传递给php
我已经看到一些似乎在讨论在不同网页上传递变量的例子。我只是在一页上完成这一切,我试图传递的是一个字符串。
我想另一种解决方案是使用PHP来选择字符串,如果这是可能的?
当浏览器呈现页面时,PHP已完成作业并关闭连接。
要传递一些在客户端使用js确定的值,您需要一个新的请求。这意味着你需要使用Ajax。
下面的回答者展示了如何在没有Ajax的情况下做到这一点? – 2012-03-06 21:07:57
当他说“你需要通过JavaScript向服务器发送请求”时,他的意思是AJAX。 – bfavaretto 2012-03-06 21:11:17
您需要通过JavaScript向服务器发送请求,因为PHP是服务器端语言。您可以使用POST或GET变量将字符串发送到同一页面,然后添加PHP代码以在页面加载时检查该变量。
的PHP会是这样的:
if(isset($_POST['string'])) {
// do something with the string
}
此方法不使用Ajax? – 2012-03-06 21:27:23
你可以这样做,一个页面重新加载或通过AJAX。尽管如果你使用AJAX来做,你可能想要分开处理字符串的PHP代码,只是为了清楚起见。 – 2012-03-07 15:35:14
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);
什么是php_script.php?这是所有代码所在页面的名称吗? – 2012-03-06 21:06:09
php_script.php只是我编写的一个示例PHP文件。你需要把所有修改你的字符串的PHP放到这个单独的文件中 – hohner 2012-03-06 21:07:21
那么在你的例子中,那个PHP代码会进入其他文件? – 2012-03-06 21:12:34
所有你想做的事就是从pageA传递一个字符串到pageB? 您应该尝试将该字符串作为“URL的一部分”或“POST请求”发送,或者在最糟糕的情况下使用“cookies”。 – 2012-03-06 21:00:15
如果你解释字符串是什么以及你想用它做什么,你可能会得到更好的答案。 JS和PHP是否在同一页上并不重要。首先执行PHP,然后将结果(文本)发送到浏览器,并将其评估为JavaScript和HTML。 – 2012-03-06 21:02:15
将一个JavaScript变量传递给PHP的唯一方法是向PHP脚本发送一个POST或GET方法,但这不能在没有重新加载页面的情况下完成。如果你这样做的话,你可能只需要使用PHP从页面上的表单元素获取输入'' 2012-03-06 21:02:36