在同一个页面,想把js的变量值赋值给php的一个变量

在初始化a.php页面时,会给个url,调用持久层,得到数据。再赋值给js的一个变量中
function initialize() {
var url = 'catagoryProjectsProcess.php?action=list';
window.httpObj = createXMLHTTPObject();
window.httpObj.open('GET', url , true);
window.httpObj.onreadystatechange = function(){
if (window.httpObj.readyState == 4 && window.httpObj.responseText){
// populate the fields
var json=window.httpObj.responseText;
//此时responseText为 {"name":"test“,"nick":"nicktest"}的字符串
......
}
}
}
然后下面的body里会用到这个json值。
如何传递这个变量值??

1、新建一个html5页面,完成如下所示初始化代码。

2、新建两个input标签,一个用于用户输入变量,一个用户用户改变变量值。

3、写入script标签,里面编写js代码,通过js我们获得两个input标签元素。

4、做按钮标签的点击事件函数,即当用户点击“加一”按钮的时候,调用此函数。

5、在函数中,我们先将变量转化为数字,然后再将数字加一,即可达到用js改变html变量的功能。

6、刷新下网页,我们输入数字“18”,然后点击“加一”按钮。

温馨提示:内容为网友见解,仅供参考
第1个回答  2018-10-16
php直接获取js变量的值确实比较难,用ajax当然也可以办到,但是我想到一种绕过去的办法,我们可以在页面中定义一个隐藏的input,再使用php获取input的value值,例如:
php:
<?php
if(isset($_POST['submit'])){
$delete = $_POST['delete'];
echo "javascript中变量a的值:".$delete;
}
?>
js:
<script>
var a="123";
var num = document.getElementById("delete");
num.setAttribute("value",a);
</script>
页面表单:
<form name="form" method="post" action="">
<input id="delete" name="delete" style="display:none" />
<button name="submit" type="submit">获取</button>
</form>
第2个回答  推荐于2018-05-09
大概你搞混了PHP和JS的运行机制

PHP是服务器语言,在你的网页已经显示在浏览器端的时候,PHP的使命已经结束了,你在浏览器端也看不到任何PHP语言的内容,查看源文件你就会发现这一点

JS是浏览器语言,它可以一直运行在浏览器中,网页上的事件,都可以调用JS

所以你的JS变量不可能传给PHP,因为此时,PHP的代码已经不存在了

如果你想交由PHP处理,可以打开新页面,用GET传递过去,再由PHP解析,或者用AJAX,传递给新的PHP页面处理。在你的例子中,已经有AJAX的内容,完全可以在得到responseText前在PHP中处理后交给前台本回答被提问者和网友采纳
第3个回答  2013-08-21
把问题简单化,你要实现什么功能,然后给你思路,这样就好办了
第4个回答  2013-08-22
用ajax传过去。。
相似回答