js里的代码:
<script> var json; //获取所有class名为zhi的标签 var zhi = document.getElementsByClassName('zhi'),temp3 = []; for(var i=0;i<zhi.length;i++) { //把标签里的内容放在temps集合里 temp3.push(zhi[i].innerHTML) } $.ajax({ cache: false, async: false, //注意:这里设置为flase,即同步操作,因为我们不需要异步操作,只是传参而已,当然,你也可以设置成异步。 contentType: "application/x-www-form-urlencoded; charset=utf-8", //这个要写对,和你的页面照应,你的页面是gb2312就填gb2312,我这里是utf8,否则中文传参会出错。 url: "../member/wenzhangshenhe.php", //这里填上你的php操作页面,即接受js参数的php页面。 type: "POST", //这里和php照应,这里填POST,php中就要用$_POST[]接受! traditional: true, //序列化数据 data:{"jsdata":temp3[i].toString()}, //传过去的参数,我传过去一个id,接受时php这样写:$data=$_POST["jsdata"]; 变量名称当然可以更改。 error: function(){ //出错处理,一般加上,但其实传参没什么出错。 alert('请求超时'); }, success:function (data) //成功后的函数,注意,这里接受php返回的参数!!!! { //注意!!由于传参时会进行base64加密,所以你穿过去的参数和返回的参数都会很长,如果我们不用json的话,参数就会丢失一部分,因为传递有长度限制!所以我们不得不涉及到一个麻烦的东西json数组! var a=data; var ss; ss=eval("("+a+")"); //eval()可以执行字符串中的js代码! ffa(ss); //这是一个函数,用来得到传回来的参数。 } }); var ss=this.json; //得到ajax返回的参数 function ffa(ss) //得到当前ajax回执的data,保存在json里。 { this.json=ss; } </script>
<?php if ($_POST['jsdata']) //这里的名字要和js里写的一样。 { selecta($link); //执行函数,这个函数是自定义的。。 } function selecta($link) { /* 你的操作数据库的命令。。。。。。。。。。。。。。 这里有一个很重要的东西,就是你返回的数据需要放到json数组里 json的写法不在详细介绍,样例是一维数组写法。 */ $a['data']=$rows['t_name']; //$rows['t_name']是数据库的数据。这样就有了一个json数组$a,它的键data中有值。 echo json_encode($a); //这句非常重要,这是php-->js的方式,如果不需要,就不用写。 } ?>