实现详解Ajax+php数据交互并且局部刷新页面

什么是Ajax?

国内翻译常为“阿贾克斯”和阿贾克斯足球队同音,AJAX 是一种用于创建快速动态网页的技术,他不是新语言,而是一种使用现有标准的新方法。通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新,这样就可以在不重新加载整个网页的情况下,对网页的某部分进行更新。

XMLHttpRequest 是 AJAX 的基础,用于和服务器交换数据。所有现代浏览器均支持 XMLHttpRequest 对象(IE5 和 IE6 使用 ActiveXObject)

下面这篇文章主要介绍的是利用ajax实现与php数据交互,并局部刷新页面的相关内容,下面话不多说,来一起看看详细的介绍:

一、语法简介

1.1 ajax基本语法

  1. $.ajax({
  2. type: "post", //数据提交方式(post/get)
  3. url: "http://xxx/test/demo.php", //提交到的url
  4. data: {username:username,password:password},//提交的数据
  5. dataType: "json", //返回的数据类型格式
  6. success: function(msg){
  7. ...//返回成功的回调函数
  8. },
  9. error:function(msg){
  10. ...//返回失败的回调函数
  11. }
  12. });

1.2 php端的接收方法

  1. <!--?php
  2. $username=$_POST['username']; //接收以post方式提交来的username数据
  3. $password=$_POST['password'];
  4. ?>

二、示例详解

2.1 html端代码demo.html

  1. <!doctype html>
  2. <html >
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>ajaxTest</title>
  6. </head>
  7. <body>
  8. <input type="text" >
  9. <input type="text" >
  10. <button >查询</button>
  11. <span ></span><!-- 用以显示返回来的数据,只刷新这部分地方 -->
  12. </body>
  13. <script src="//cdn.bootcss.com/jquery/3.0.0-alpha1/jquery.min.js"></script>
  14. </html>

2.2 在demo.html中加入以下js代码

  1. <script>
  2. $(function(){
  3. $('#sub').click(function(){
  4. var username=$('#username').val();
  5. var password=$('#password').val();
  6. $.ajax({
  7. type: "post",
  8. url: "http://xxx/test/demo.php",
  9. data: {username:username,password:password}, //提交到demo.php的数据
  10. dataType: "json", //回调函数接收数据的数据格式
  11. success: function(msg){
  12. $('#text').empty(); //清空Text里面的所有内容
  13. var data='';
  14. if(msg!=''){
  15. data = eval("("+msg+")"); //将返回的json数据进行解析,并赋给data
  16. }
  17. $('#text').html("用户名为:" + data.username + ",密码为:" + data.password); //在#text中输出
  18. console.log(data); //控制台输出
  19. },
  20. error:function(msg){
  21. console.log(msg);
  22. }
  23. });
  24. });
  25. })
  26. </script>

2.3 php端代码demo.php

  1. <!--?php
  2. header('Content-type:text/json;charset=utf-8');
  3. $username=$_POST['username'];
  4. $password=$_POST['password'];
  5. $data='{username:"' . $username . '",password:"' . $password .'"}';//组合成json格式数据
  6. echo json_encode($data);//输出json数据
  7. ?>

三、最终效果如下

实现详解Ajax+php数据交互并且局部刷新页面