使用JavaScript实现ajax

 1 var xmlHttp = null;
 2 /*使用XMLHttpRequest对象进行ajax交互*/
 3 function verifyNew(id){
 4     /*获取待打算数据*/
 5     var username = document.getElementById(id).value;
 6
 7     /*创建XMLHttpRequest对象*/
 8
 9     if(window.XMLHttpRequest){
10         /*针对FireFox Mozillar Opera Safair IE7+*/
11         xmlHttp = new XMLHttpRequest();
12         /*针对某些版本的Mozillar浏览器的bug修正*/
13         if(xmlHttp.overrideMimeType){
14             xmlHttp.overrideMimeType("text/xml");
15         }
16     }else if(window.ActiveXObject){
17         /*针对IE6 IE5.5 IE5*/
18         var activexName = ["MSXML2.XMLHTTP","Microsoft.XMLHTTP"];
19         for(var i = 0;i < activexName.length;i++){
20             try{
21                 /*取出一个空间名进行创建,如果创建成功,就终止循环*/
22                 xmlHttp = new ActiveXObject(activexName[i]);
23                 break;
24             }catch (e){
25
26             }
27         }
28     }
29     if(!xmlHttp){
30         alert("XMLHttpRequest对象创建失败");
31     }else{
32         /*注册回调函数*/
33         xmlHttp.onreadystatechange = callback;
34
35         /*设置连接 true表示异步交互*/
36         xmlHttp.open("GET","/Lesson5_AJAX_Demo1/AjaxServletDo.do?name="+username,true);

      
/*如果采用POST的方式,需要自己设置请求头*//*xmlHttp.open("POST","/Lesson5_AJAX_Demo1/AjaxServletDo.do"+username,true);xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");xmlHttp.send("name="+username);*/
37 38 /*发送数据*/ 39 xmlHttp.send(null);/*因为发送的数据已经在url中,所以这里的发送数据参数设置为null*/ 40  } 41 42 43 44 } 45 46 function callback(){ 47 if(xmlHttp.readyState == 4){/*交互完成*/ 48 if(xmlHttp.status == 200){/*http交互是否成功*/ 49 /*获取服务端返回数据*/ 50 var responseText = xmlHttp.responseText; 51 document.getElementById("result").innerHTML = responseText; 52  } 53  } 54 }

页面

 1 <!DOCTYPE html>
 2 <html>
 3 <head lang="en">
 4     <meta charset="UTF-8">
 5     <title>itcast.cn 用户名校验ajax实例</title>
 6     <script type="text/javascript" src="/Lesson5_AJAX_Demo1/jslib/jquery-2.1.4.min.js"></script>
 7     <script type="text/javascript" src="/Lesson5_AJAX_Demo1/jslib/ajax.js"></script>
 8 </head>
 9 <body>
10     itcast.cn 用户名校验的ajax实例,请输入用户名:<br/>
11     <!-- ajax方式下,不需要使用表单提交数据 -->
12     <input type="text" id="userName" value=""/>
13     <input type="button" value="校验" onclick="verifyNew(‘userName‘)"/><br/>
14     <!-- div空间用于显示ajax处理结果  -->
15     <div id="result"></div>
16 </body>
17 </html>

服务端

 1 package org.zln.ajax.servlet;
 2
 3 import javax.servlet.ServletException;
 4 import javax.servlet.annotation.WebServlet;
 5 import javax.servlet.http.HttpServlet;
 6 import javax.servlet.http.HttpServletRequest;
 7 import javax.servlet.http.HttpServletResponse;
 8 import java.io.IOException;
 9 import java.io.PrintWriter;
10
11 /**
12  * Created by coolkid on 2015/6/7 0007.
13  */
14 public class AjaxServer extends HttpServlet {
15     @Override
16     protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
17         doGet(request,response);
18     }
19
20     @Override
21     protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
22         try{
23             response.setContentType("text/html;charset=UTF-8");
24             request.setCharacterEncoding("UTF-8");
25             PrintWriter out = response.getWriter();
26             //取参数信息
27             String name = request.getParameter("name");
28             //输入校验
29             if(name == null || name.length() == 0){
30                 out.println("用户名不能为空");
31             } else{
32                 //逻辑校验与业务处理
33                 if(name.equals("wangxingkui")){
34                     out.println("用户名[" + name + "]已经存在,请使用其他用户名");
35                 } else{
36                     out.println("用户名[" + name + "]尚未存在,可以使用该用户名注册");
37                 }
38             }
39             /*这些发往HTML的数据会被ajax的回调函数处理*/
40             out.println("<br/><a href=\"ajax.html\">返回校验页面</a>");
41         } catch(Exception e){
42             e.printStackTrace();
43         }
44         //返回更新数据(而不是跳转到新的视图)
45     }
46 }
时间: 2024-10-18 05:05:08

使用JavaScript实现ajax的相关文章

【javascript】ajax 基础 --本文转载

[javascript]ajax 基础 什么是 ajax ajax 即"Asynchronous JavaScript and XML"(异步 JavaScript 和 XML),也就是无刷新数据读取. http 请求 首先需要了解 http 请求的方法(GET 和 POST). GET 用于获取数据.GET 是在 URL 中传递数据,它的安全性低,容量低. POST 用于上传数据.POST 安全性一般,容量几乎无限. ajax 请求 ajax 请求一般分成 4 个步骤. 1.创建 a

JavaScript之Ajax之美~

JavaScript之Ajax之美~ 曾经有一段时期,因为开发人员对JavaScript的滥用导致其遭受了一段时间的冷门时期,不被大家看好,后来,到了2005年,Google公司的很多技术都是用了ajax之后,JavaScript才又火热了起来,可以说,是Ajax拯救了JavaScript,就目前来说,熟练使用Ajax已经成为了所有web开发人员必须掌握的技能.那么Ajax又是什么呢? 它的作用是什么呢? 第一部分:Ajax简介 Ajax即Asynchronous JavaScript +XML

原生JavaScript 封装ajax

原生JavaScript 封装ajax   function myajax(options){ //新建一个局部对象 用来存放用户输入的各种参数 var opt={ type:options.type||"get",//获取用户输入的传输方法,可选,不写为get data:options.data||"",//获取用户输入的数据 dataType:options.dataType||"",//获取用户输入的数据类型比如json 或者xml url

Javascript与Ajax

不使用jquery来处理ajax请求该怎么做? 首先要明确html中的某些数据需要从服务端获得,也就是客户端向服务端请求(request)数据,服务端就响应(response)这个请求,把客户端要的数据给它.服务端返回的数据格式多样,即可以是字符串,也可以是数字,也可以是对象.客户端接到这些数据后按自己的需要处理后显示在Html页面上.这个处理工作就交给Javascript来做.  Javascript处理Ajax异步请求要注意三点: 1.创建一个新的XMLHttpRequest对象; 2.创建

利用CSS、JavaScript及Ajax实现图片预加载的三大方法

原文:3 Ways to Preload Images with CSS, JavaScript, or Ajax 译文:利用CSS.JavaScript及Ajax实现图片预加载的三大方法 预加载图片是提高用户体验的一个很好方法.图片预先加载到浏览器中,访问者便可顺利地在你的网站上冲浪,并享受到极快的加载速度.这对图片画廊及图片占据很大比例的网站来说十分有利,它保证了图片快速.无缝地发布,也可帮助用户在浏览你网站内容时获得更好的用户体验.本文将分享三个不同的预加载技术,来增强网站的性能与可用性.

wordpress——在插件后台管理页面中添加javascript和ajax

最近在开发一个wordpress插件,需要在插件的后台管理页面上,添加自己写的javascript文件,以达到一些功能. 查了好几天的文档和资料,终于实现了. 这里先介绍下wordpress后台页面添加javascript的过程,再介绍添加ajax的过程. 添加javascript 首先我们需要知道wordpress插件开发的框架,然后再介绍javascript添加的步骤. 添加插件设置页面 开发插件,总需要在管理后台添加自己的插件设置页面.插件设置子页面,在这些页面中,可以设置和保存插件的一些

JavaScript和ajax 跨域的案例

今天突然想看下JavaScript和ajax 跨域问题,然后百度看了一下,写一个demo出来 1 <!DOCTYPE html> 2 <html xmlns="http://www.w3.org/1999/xhtml"> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 5 <tit

JavaScript基础---AJAX

内容提纲: 1.XMLHttpRequest 2.GET与POST 3.封装Ajax  发文不易,转载请注明链接出处,谢谢! 2005年Jesse James Garrett发表了一篇文章,标题为:"Ajax:A new Approach to Web Applications".他在这篇文章里介绍了一种技术,用他的话说,就叫:Ajax,是Asynchronous JavaScript + XML的简写.这种技术能够想服务器请求额外的数据而无须卸载页面(即刷新),会带来更好的用户体验.

jQuery与JavaScript与ajax三者的区别与联系

简单总结: 1.JS是一门前端语言. 2.Ajax是一门技术,它提供了异步更新的机制,使用客户端与服务器间交换数据而非整个页面文档,实现页面的局部更新. 3.jQuery是一个框架,它对JS进行了封装,使其更方便使用.jQuery使得JS与Ajax的使用更方便 关系比喻: 若把js比作木头,那么jquery就是木板(半成品) jQuery与ajax都是js的一个框架,各有各的功能,若js是父亲的话,jquery与ajax就是两个儿子 详细情况: 1.javascript是一种在客户端执行的脚本语

JavaScript的ajax与jQuery的ajax案例分析

先谈JavaScript的ajax,传输数据为json #############################################JavaScript ajax json########################################### 注意:由于要用到json的JSON.stringify()方法,需要引入json2.js库. html代码: <!DOCTYPE html><html lang="en"><head&g