js与php的交互问题

2025-09-29 22:22:08

1、小编的交互方法是jQuery的$.ajax()。

所谓ajax,就是Asynchronous Javascript And XML,也就是我们常说的js与XML异步技术

通过在后台与服务器进行少量数据交换,ajax 可以使网页实现异步更新。

这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新

这样可以给用户更好的体验,如果你的网页比较大的情况下,可以先加载一部分,再加载剩下的,这样等到用户点击下面的东西时,已经加载好了,这样可以大大提高你的页面打开速度

比如,百度图片的显示就是用了ajax。先加载一部分图片,用户往下拖网页时,底下的图片已经加载好了!

js与php的交互问题

2、ajax的作用是在后台与服务器进行少量的数据交换,那么,我们就可以将js的参数传递给php,然后让php操作数据库,再返回给js值,不管是js向php传参,还是php向js传参,都可以通过ajax实现!

1、当然,$.ajax()方法的参数非常多,如果想要了解更深一些,自行百度。小编在这里只讲一些js与php传参用到的参数。附几张参数介绍图

这个不重要,我们来看一下传参时用的参数。

js与php的交互问题

js与php的交互问题

js与php的交互问题

js与php的交互问题

js与php的交互问题

2、如图

这就是所有用到的参数了。

js的代码如下:

--------------------------------------------------------------------------------

var json;   //这个变量是为了得到ajax返回的参数,如果你不需要php返回参数,那就不需要这些东西。

$.ajax({ 

    cache: false,

         async: false,   //注意:这里设置为flase,即同步操作,因为我们不需要异步操作,只是传参而已,当然,你也可以设置成异步。

contentType: "application/x-www-form-urlencoded; charset=utf-8",  

//这个要写对,和你的页面照应,你的页面是gb2312就填gb2312,我这里是utf8,否则中文传参会出错。

         url: "../include/Mysql.php",  //这里填上你的php操作页面,即接受js参数的php页面。

         type: "POST",        //这里和php照应,这里填POST,php中就要用$_POST[]接受!

traditional: true,  //序列化数据

         data:{"jsdata":id},  //传过去的参数,我传过去一个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;}

--------------------------------------------------------------------------------

js与php的交互问题

js与php的交互问题

js与php的交互问题

js与php的交互问题

js与php的交互问题

3、以上代码显示了js-->php--->js的过程,如果你只需要js-->php--->mysql,那么就不需要json了。

4、php页面的代码如下

--------------------------------------------------------------------------------

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

}

?>

--------------------------------------------------------------------------------

js与php的交互问题

5、js获得json数组后,取出操作如下:

var i=ss['data'];

//data是php中数组的键,只有对应好键,才能取出相应的值。

json数组虽然麻烦,但是十分强大!你还可以试试多维的json数组储存数据。

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢