zoukankan      html  css  js  c++  java
  • js用ajax和不同页面的php互相传值的方法




    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的方式,如果不需要,就不用写。
    }
    ?>
    
    

      

  • 相关阅读:
    转载--重写、覆盖、重载、多态几个概念的区别分析
    笔试题--奇虎360-2013
    转载---数据挖掘十大经典算法
    Nginx的启动、停止与重启
    程序员的十种级别,看看你属于哪一种?
    C标签的用法
    eclipse修改代码后都需要clean的解决办法
    创建一个jFinal项目
    java redirect用法
    java获取访问者真实的IP地址
  • 原文地址:https://www.cnblogs.com/275147378abc/p/5113244.html
Copyright © 2011-2022 走看看