在项目开发过程中数据交互是最基本的一项技能,而通过PHP开发的项目如果每次都通过简单的form表单提交,不仅用户体验不是很好外,也经常容易被戏称太low。
AJAX 是一种用于创建快速动态网页的技术,AJAX 可以使网页实现异步更新,这样就可以在不重新加载整个网页的情况下,对网页的某部分进行数据更新。
一、Ajax基础语法:
- $.ajax({
- type: "post", //数据提交方式(post/get)
- url: "http://xxx/test/demo.php", //提交到的url
- data: {username:username,password:password},//提交的数据
- dataType: "json", //返回的数据类型格式
- success: function(msg){
- ...//返回成功的回调函数
- },
- error:function(msg){
- ...//返回失败的回调函数
- }
- });
二、后台PHP接收数据:
- <!--?php
- $username=$_POST['username']; //接收以post方式提交来的username数据
- $password=$_POST['password'];
- ?>
三、示例代码:
1、html前端页面部分:
- <!doctype html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <title>ajaxTest</title>
- </head>
- <body>
- <input type="text" id="username">
- <input type="text" id="password">
- <button id="sub">查询</button>
- <span id="text"></span><!-- 用以显示返回来的数据,只刷新这部分地方 -->
- </body>
- <script src="//cdn.bootcss.com/jquery/3.0.0-alpha1/jquery.min.js"></script>
- <script>
- $(function(){
- $('#sub').click(function(){
- var username=$('#username').val();
- var password=$('#password').val();
- $.ajax({
- type: "post",
- url: "http://xxx/test/demo.php",
- data: {username:username,password:password}, //提交到demo.php的数据
- dataType: "json", //回调函数接收数据的数据格式
- success: function(msg){
- $('#text').empty(); //清空Text里面的所有内容
- var data='';
- if(msg!=''){
- data = eval("("+msg+")"); //将返回的json数据进行解析,并赋给data
- }
- $('#text').html("用户名为:" + data.username + ",密码为:" + data.password); //在#text中输出
- console.log(data); //控制台输出
- },
- error:function(msg){
- console.log(msg);
- }
- });
- });
- })
- </script>
- </html>
2、后台PHP部分:
- <!--?php
- header('Content-type:text/json;charset=utf-8');
- $username=$_POST['username'];
- $password=$_POST['password'];
- //把接收到的数据返回前端页面
- $data='{username:"' . $username . '",password:"' . $password .'"}';//组合成json格式数据
- echo json_encode($data);//输出json数据
- ?>
最终我们就可以看到,输入用户名和密码之后,点击查询,用户名和密码会立即显示在页面上而无需刷新整个网页。整个实现起来比较简单。作为PHP的新手一定要多动手去敲一些代码,不要看到别人的代码直接复制,多练习才能熟能生巧。