用Ajax, PHP 跟 JS 最直接的交互方式就是 Ajax。
创新互联公司专注骨干网络服务器租用十余年,服务更有保障!服务器租用,服务器托管 成都服务器租用,成都服务器托管,骨干网络带宽,享受低延迟,高速访问。灵活、实现低成本的共享或公网数据中心高速带宽的专属高性能服务器。
使用 Ajax 向服务器发起网络请求,PHP在后端进行处理并返回数据。
这种方法就是ajax数据传输,异步数据交互
//这里用到了jquery的插件,使用前需引用jquery.js
script
function keyUp(e) {
var currKey=0,e=e||event;
currKey=e.keyCode||e.which||e.charCode;
//如果是空格
if(currKey == 32){
$.ajax({
url: 'save.php',
data: $('#id').val()
success: function(data){
alert(data);
}
});
}
}
document.onkeyup = keyUp;
/script
具体代码请谷歌 AJAX
php给javascript传值,算是两个方法吧,
一个就是主动刷新,php把值写到页面上,比如 var a='?php echo $a;?';
另外的方法就是通过js异步去拉取,通过ajax来实现,大体过程是:js 发起一个异步请求给php程序,php返回数据库的数据,js通过接收这个数据来在做处理。
把对象数组转成JASON串,PHP收到后转化成JASON对象进行读取。
参考例子如下:
script type="text/javascript" src=""/script!--倒入json.js文件,序列化json对象用的--
script type="text/javascript" src=""/script
script type="text/javascript"
var zNodes =[
{ id:1, pId:0, name:"随意勾选 1", open:true},
{ id:11, pId:1, name:"随意勾选 1-1", open:true},
{ id:111, pId:11, name:"随意勾选 1-1-1"},
{ id:112, pId:11, name:"随意勾选 1-1-2"},
{ id:12, pId:1, name:"随意勾选 1-2", open:true},
{ id:121, pId:12, name:"随意勾选 1-2-1"},
{ id:122, pId:12, name:"随意勾选 1-2-2"},
{ id:2, pId:0, name:"随意勾选 2", checked:true, open:true},
{ id:21, pId:2, name:"随意勾选 2-1"},
{ id:22, pId:2, name:"随意勾选 2-2", open:true},
{ id:221, pId:22, name:"随意勾选 2-2-1", checked:true},
{ id:222, pId:22, name:"随意勾选 2-2-2"},
{ id:23, pId:2, name:"随意勾选 2-3"}
];
$.ajax({
url:'xxxx.php'//改为你的动态页
,type:'POST'
,data:{zNodes:zNodes.toJSONString()}//调用json.js类库将json对象转换为对应的JSON结构字符串
,success:function(rst){alert('PHP接收JSON数据成功!');}
,error:function(xhr){alert('PHP页面有错误!'+xhr.responseText);}
}});
/script
$zNodes=$_POST["zNodes"];
$json=json_decode($zNodes);//转化为JSON对象
很简单。。。举例
$message = "这是一个来自 php 的值。";
echo "script language=\"JavaScript\" type=\"text/JavaScript\";\r\n!--\r\n alert('".$message."');\r\n--;\r\n/script;";你得把所有的JS代码转成PHP格式就可以了。
可以可以通过ajax利用json或者xml来传递数组给php文件:
json是js的一种数据格式,可以直接被js解析,php无法直接读取json数据,但是php提供了json_decode函数来对json数据进行转化,从而可以被php脚本访问;