Ajax的简单使用

1.简介

AJAX = Asynchronous JavaScript And XML(异步 JavaScript 及 XML)

AJAX 是 Asynchronous JavaScript And XML 的首字母缩写。

AJAX 并不是一种新的编程语言,而仅仅是一种新的技术,它可以创建更好、更快且交互性更强的 web 应用程序。

AJAX 使用 JavaScript 在 web 浏览器与 web 服务器之间来发送和接收数据。

通过在幕后与 web 服务器交换数据,而不是每当用户作出改变时重载整个 web 页面,AJAX 技术可以使网页更迅速地响应。

2.使用方法

接下来做一个用Ajax实现页面单机按钮显示用户是否存在的实例.

2.1 创建 XMLHttpRequest 对象

XMLHttpRequest对象是Ajax技术的关键,其作用是用于在后台与服务器交换数据.该对象的创建方式如下:

1 function ajaxFunction(){
2     var xmlReq;
3     try{
4         xmlReq = new XMLHttpRequest();
5     }catch(e){
6         xmlReq = new new ActiveXObject("MSXML2.XMLHTTP.3.0");
7     }
8     return xmlReq;
9 }

2.2 与服务器交换数据

通过XMLHttpRequest对象和服务器交换信息的过程分为5步:
1.获取XMLHttpRequest对象.

2.onreadystatechange 事件:时刻返回相应状态.
3.打开与服务器连接.

4.发送信息给服务器.

5.得到服务器的信息.

具体步骤可查看W3School教程:http://www.w3school.com.cn/ajax/ajax_xmlhttprequest_send.asp

 1 window.onload = function(){
 2         document.getElementById("ajax").onclick = function(){
 3             var xmlReq = ajaxFunction();
 4             //onreadystatechange 事件,当返回状态为4时表示成功
 5             xmlReq.onreadystatechange = function(){
 6                 if(xmlReq.readyState == 4){
 7                     if(xmlReq.status == 200 || xmlReq.status == 304){
 8                         //得到服务器发送的数据
 9                         var info = xmlReq.responseText;
10                         //页面显示
11                         document.getElementById("usernameView").innerHTML = info;
12                     }
13                 }
14             };
15             //打开与一个Servlet的交互
16             xmlReq.open("post", "../servlet/AjaxServlet?timeStamp="+new Date().getTime(),true);
17             //设置请求头,这样xmlReq.send()方法发送的数据,服务器才能接受到
18             xmlReq.setRequestHeader("content-type", "application/x-www-form-urlencoded");
19
20             var username = document.getElementById("username").value;
21             //项服务器发送数据
22             xmlReq.send("username="+username);
23
24         };
25 };

2.3 Servlet处理请求

Servlet用于对传过来的数据进行处理,一般都是查询数据库进行比对,这里只是个Demo,所以没用数据库.

 1 package cn.itcast.web.servlet;
 2
 3 import java.io.IOException;
 4
 5 import javax.servlet.ServletException;
 6 import javax.servlet.http.HttpServlet;
 7 import javax.servlet.http.HttpServletRequest;
 8 import javax.servlet.http.HttpServletResponse;
 9
10 public class AjaxServlet extends HttpServlet {
11
12     public void doGet(HttpServletRequest request, HttpServletResponse response)
13             throws ServletException, IOException {
14         request.setCharacterEncoding("utf-8");
15         response.setCharacterEncoding("utf-8");
16         response.setContentType("text/html;charset=utf-8");
17         //得到请求值
18         String username = request.getParameter("username");
19         if("sa".equals(username)){
20             response.getWriter().println("用户名已经存在");
21         }else{
22             response.getWriter().println("用户名可用");
23         }
24
25     }
26
27     public void doPost(HttpServletRequest request, HttpServletResponse response)
28             throws ServletException, IOException {
29         doGet(request, response);
30     }
31  }

3.Ajax优缺点

1.使用Ajax的最大优点,就是能在不更新整个页面的前提下维护数据。这使得Web应用程序更为迅捷地回应用户动作,并避免了在网络上发送那些没有改变的信息。
2.Ajax不需要任何浏览器插件,但需要用户允许JavaScript在浏览器上执行.
3.对应用Ajax最主要的批评就是,它可能破坏浏览器的后退功能.

详细信息可查看维基百科:http://zh.wikipedia.org/zh/AJAX

Ajax的简单使用

时间: 2024-08-08 10:35:35

Ajax的简单使用的相关文章

html --- ajax --- javascript --- 简单的封装

Ajax的简单封装 Ajax的全称是AsynchronousJavaScriptAndXML 如有疑问请参考:http://zh.wikipedia.org/zh-cn/AJAX 以及传智播客的视频教程:http://java.itcast.cn/news/8308d118/740a/4dcd/8dbf/c73d2fe5bc60.shtml 其实已经有好多框架对它进行了封装,但是还是有好多时候用到自己封装的 透露一下,本人是宇多田光的听众之一哦! 封装后的代码如下: 文件路径:\web\Ajax

让Ajax更简单

之前写了一篇 ASP.NET中一种超简单的Ajax解决方案 最近把他拿出来更新了下,把demo也搞的更详细了一点 加入了blqw.Json,所以支持更多类型参数和返回值 优化了对exception的处理 增加了分页Pager对象 优化了注册页面变量的方式,更安全了 特点 首先他不需要任何的配置文件 没有额外dll ,他是开源的,只要你愿意, 他只有2个cs文件 使用之后前台js调用后台方法都是采用同步模式,这样更加接近C#后台的编程方式 var user = PostAjax8(); var m

php+jquery+ajax+json简单小例子

直接贴代码: Php代码: <html> <title>php+jquery+ajax+json简单小例子</title> <?php header("Content-Type:text/html;charset=utf-8"); ?> <head> <script type="text/javascript" src="http://code.jquery.com/jquery.min.j

php结合ajax实现简单的无刷新评论

实现的原理其实很简单,我是用的原生js写的,当然用jq封转好的也都一样(下次用jq写个其他的).解析都写在代码里面了: 建表语句: 1 CREATE TABLE `comment` ( 2 `id` int NOT NULL AUTO_INCREMENT COMMENT '主键索引' , 3 `content` text NOT NULL COMMENT '评论内容' , 4 PRIMARY KEY (`id`) 5 )ENGINE=MYISAM DEFAULT CHARSET=UTF8 6 ;

PushState+Ajax实现简单的单页面应用SPA

http://www.helloweba.com/view-blog-386.html 单页面应用(Single Page Application)简称SPA,使用SPA构建的应用优点有用户体验好.速度快,内容的改变不需要重新加载整个页面,避免了不必要的跳转和重复渲染,从而相对减轻了服务器压力,SPA在WEB移动端应用非常广泛. 我们在上一篇文章Javascript实现前端简单路由中提到的前端路由,可以在不刷新整个页面的情况下,通过变换地址栏的hash来实现页面局部加载. 今天我要给大家介绍的是

Ajax的简单实现(JQuary)

还是之前的例子,相对来说,用JQ就简单了很多,真的多,因为JQ直接把方法都写好了,直接调用就行了,,???,, php文件就不需要多做修改了,如下: 1 <?php 2 //改变Content-Type属性 3 header("Content-Type:application/json;charset:utf-8"); 4 $nClass = array( 5 array("name" => "龙傲天","id"

ASP.NET MVC Ajax.ActionLink 简单用法

ASP.NET MVC 项目中,如何使用类似于 iframe 的效果呢?或者说 Ajax 局部刷新,比如下面操作: 我们想要的效果是,点击 About 链接,页面不刷新(地址栏不变),然后下面的内容进行更新,其实实现这个效果,很简单,只需要使用 Ajax.ActionLink 即可. 1. 安装 Microsoft.jQuery.Unobtrusive.Ajax 程序包 Install-Package Microsoft.jQuery.Unobtrusive.Ajax 2. 引用 JS 文件:

ajax的简单操作

项目需要,简单研究了下ajax 需要在html中引入js文件 编写js函数 function testAjax() { $.ajax({ type: 'get', //请求方式 get/post url: 'WebForm2.aspx', //请求的Uri async: true, //请求是否为异步 data: { action: 'deleteSql' }, //发往服务器的参数 //这个相当于 url: 'WebForm2.aspx?data=deleteSql', success: fu

AJAX 的简单用法:

AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术. AJAX 是一种用于创建快速动态网页的技术.通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新.这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新. 1. XMLHttpRequest 对象: 所有现代浏览器(IE7+.Firefox.Chrome.Safari 以及 Opera)均内建 XMLHttpRequest 对象:variable=new XMLHttpRequest();