当前位置:首页 > PHP教程 > php应用 > 列表

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

发布:smiling 来源: PHP粉丝网  添加日期:2022-07-10 11:44:55 浏览: 评论:0 

什么是Ajax?

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

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

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

一、语法简介

1.1 ajax基本语法

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

1.2 php端的接收方法

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

二、示例详解

2.1 html端代码demo.html

  1. <!doctype html> 
  2.  
  3. <html lang="en"> 
  4.  
  5. <head> 
  6.  
  7.  <meta charset="UTF-8"> 
  8.  
  9.  <title>ajaxTest</title> 
  10.  
  11. </head> 
  12.  
  13. <body> 
  14.  
  15.  <input type="text" id="username"> 
  16.  
  17.  <input type="text" id="password"> 
  18.  
  19.  <button id="sub">查询</button> 
  20.  
  21.  <span id="text"></span><!-- 用以显示返回来的数据,只刷新这部分地方 --> 
  22.  
  23. </body> 
  24.  
  25. <script src="//cdn.bootcss.com/jquery/3.0.0-alpha1/jquery.min.js"></script> 
  26.  
  27. </html> 

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

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

2.3 php端代码demo.php

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

三、最终效果如下

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

Tags: Ajax+php数据交互

分享到: