菏泽网站建设制作,给几个网址谢谢,什么网站可以接活在家做,温州市城乡建设建档案馆网站Ajax的定义Ajax被认为是(Asynchronous JavaScript and XML的缩写)。 允许浏览器与服务器通信而无须刷新当前页面的技术都被叫做Ajax。Ajax的工作原理Ajax的核心是JavaScript对象XmlHttpRequest。XmlHttpRequest使您可以使用JavaScript向服务器提出请求并处理响应#xff0c;而…Ajax的定义Ajax被认为是(Asynchronous JavaScript and XML的缩写)。 允许浏览器与服务器通信而无须刷新当前页面的技术都被叫做Ajax。Ajax的工作原理Ajax的核心是JavaScript对象XmlHttpRequest。XmlHttpRequest使您可以使用JavaScript向服务器提出请求并处理响应而不阻塞用户。一、使用JavaScript实现Ajax技术1.首先建立一个jsp页面,导入js页面并且新建一个测试按钮。2.其中我们在js页面先需要获取XmlHttpRequest对象,并且需要处理兼容问题获取XmlHttpRequest对象functiongetXMLHttpRequest() {var xmlHttpReqnull;if (window.XMLHttpRequest) {//Mozilla 浏览器xmlHttpReq newXMLHttpRequest();}else{if (window.ActiveXObject) {//IE 浏览器try{xmlHttpReq new ActiveXObject(Microsoft.XMLHTTP);}catch(e) {try {//IE 浏览器xmlHttpReq new ActiveXObject(Msxml2.XMLHTTP);}catch(e) {}}}}return xmlHttpReq;3.接着在相同页面下开始写onload事件(get方法发送数据)window.onload function(){var btnDomdocument.getElementById(btn);btnDom.οnclick function(){//ajax步骤//1var xhr getXMLHttpRequest();//2.监听响应 如何判断能够正确请求和响应xhr.onreadystatechange function(){if(xhr.readyState 4){ //响应结束if(xhr.status 200){ //正确响应//接收响应数据var data xhr.responseText;alert(data);}}};//3.打开连接/** method: get 或 post* url: 请求路径* async: true(表示异步默认) false*/xhr.open(get,../ajaxGetServlet?age18userNamejack,true);//4.发送数据xhr.send(null); //使用get请求send发送的数据都为null,且不能省略这一步};};或者使用(post请求//第3第4步骤有区别)window.onload function(){var btnDomdocument.getElementById(btn);btnDom.οnclick function(){//1var xhr getXMLHttpRequest();//2.xhr.onreadystatechange function(){if(xhr.readyState 4){if(xhr.status 200){var data xhr.responseText;alert(data);}}};//3.xhr.open(post,../ajaxPostServlet,true);/** 4.发送数据* send() string或null* String类型一般为键值对 usernamezhangsan* get请求 都是send(null)* post请求要send数据需要设置请求头*/xhr.setRequestHeader(Content-Type,application/x-www-form-urlencoded);xhr.send(useradminage12);};};其中步骤3的url需要我们创建一个servletpublic class AjaxGetServlet extendsHttpServlet {public voiddoGet(HttpServletRequest request, HttpServletResponse response)throwsServletException, IOException {String age request.getParameter(age);String userName request.getParameter(userName);System.out.println(age------userName);//响应数据response.getWriter().print(hello); //js中步骤2监听响应}public voiddoPost(HttpServletRequest request, HttpServletResponse response)throwsServletException, IOException {doGet(request, response);}}代码写完以后,我们只需要按一下(valueajax)测试按钮就可以使用ajax技术实现异步请求与响应。二、使用jQuery实现Ajax技术案例:如何使用ajax技术实现用户注册时用户名是否被占用?1.jsp注册页面jquery 实现 ajax用户名2.js页面(无需手动获取XmlHttpRequest对象)$(function(){$(#userName).blur(function(){var name $(this).val();if(name.trim() ){return;}//jquery 实现 ajax$.ajax({url:../jqueryUserName, //请求的路径type:post, //请求方式 默认是getdata: { //要发送的数据name:name},dataType:text, //响应数据的类型success:function(result){ //正确响应if(result yes){$(#msg).html(用户名可以使用);}else{$(#msg).html(用户名被占用);}},error:function(){alert(请求失败);}});});});3.servlet页面(获取用户名比较是否被占用)public class JqueryUserName extendsHttpServlet {public voiddoGet(HttpServletRequest request, HttpServletResponse response)throwsServletException, IOException {System.out.println(jquery ajax 验证用户名);PrintWriter outresponse.getWriter();String name request.getParameter(name);if(ajax.equals(name) || admin.equals(name) || jack.equals(name)){//用户名已被使用out.print(no);}else{out.print(yes);}}public voiddoPost(HttpServletRequest request, HttpServletResponse response)throwsServletException, IOException {doGet(request, response);}}