ajax和php交互

发布时间:2017-05-04 18:32:45 阅读数:2250
前端页面和服务器端交互获取数据经常使用ajax,下面我们就来介绍一下ajax和php之间的交互。
首先,我们来介绍一下什么是ajax,ajax是一种用于创建快速动态网页的技术,它不是语言,而是一种使用现有标准的新方法,通过后台与服务器进行少量数据交换,ajax可以使网页实现异步更新,这样就可以在不重新加载整个页面的情况下,对网页的某部分进行更新。
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;}

页面Trace信息
当前页面 : /article/view?id=191
模板缓存 : /web/www/caijixia.cn/data/Runtime/system/Cache/43c6deff58a769345d769751556cd685.php
请求方法 : GET
通信协议 : HTTP/1.1
请求时间 : 2021-04-18 19:53:08
用户代理 : CCBot/2.0 (https://commoncrawl.org/faq/)
会话ID : n415ang34tkcq9fn8kqvhivrs1
日志记录 : 4条日志
[ 2021-04-18T19:53:08+08:00 ] SQL: RunTime:0.000833s SQL = SHOW COLUMNS FROM sys_article
[ 2021-04-18T19:53:08+08:00 ] SQL: RunTime:0.000591s SQL = SELECT id,title FROM `sys_article` WHERE status=1 AND category>0 ORDER BY pv desc LIMIT 40
[ 2021-04-18T19:53:08+08:00 ] SQL: RunTime:0.000175s SQL = UPDATE `sys_article` SET `pv`=pv+1 WHERE id=191
[ 2021-04-18T19:53:08+08:00 ] SQL: RunTime:0.000213s SQL = SELECT * FROM `sys_article` `a`,`sys_content` `c` WHERE a.id=c.aid AND a.id=191 LIMIT 1
加载文件 : 20
[0] => /web/www/caijixia.cn/index.php
[1] => /web/www/caijixia.cn/define.inc.php
[2] => /web/www/caijixia.cn/framework/ThinkPHP.php
[3] => /web/www/caijixia.cn/data/Runtime/system/~runtime.php
[4] => /web/www/caijixia.cn/framework/Common/convention.php
[5] => /web/www/caijixia.cn/system/Conf/config.php
[6] => /web/www/caijixia.cn/config.inc.php
[7] => /web/www/caijixia.cn/system/Common/common.php
[8] => /web/www/caijixia.cn/Common/common.func.php
[9] => /web/www/caijixia.cn/framework/Common/extend.php
[10] => /web/www/caijixia.cn/system/Conf/htmls.php
[11] => /web/www/caijixia.cn/framework/Common/debug.php
[12] => /web/www/caijixia.cn/framework/Lib/Think/Util/Dispatcher.class.php
[13] => /web/www/caijixia.cn/framework/Lang/zh-cn.php
[14] => /web/www/caijixia.cn/framework/Lib/Think/Util/HtmlCache.class.php
[15] => /web/www/caijixia.cn/system/Lib/Action/ArticleAction.class.php
[16] => /web/www/caijixia.cn/framework/Lib/Think/Core/Model.class.php
[17] => /web/www/caijixia.cn/framework/Lib/Think/Db/Db.class.php
[18] => /web/www/caijixia.cn/framework/Lib/Think/Db/Driver/DbMysqli.class.php
[19] => /web/www/caijixia.cn/data/Runtime/system/Cache/43c6deff58a769345d769751556cd685.php