一、javaScript 发送异步请求
/* * XMLHttpRequest对象的使用 * 利用XMLHttpRequest接收纯文本的内容 */ var xmlhttp; //XMLHttpRequest /* * 用户名校验方法3 * 使用XMLHttpRequest对象来进行Ajax的异步交互 */ function verify3() { //使用dom的方式获取文本框的值 var username = document.getElementById("name").value; //1、创建XMLHttpRequest对象 //这是XMLHttpRequest对象使用五步中最复制的一步 if (window.XMLHttpRequest) { //针对FireFox、Molillar、Opera、Safari、IE7、IE8 xmlhttp = new XMLHttpRequest(); //针对莫些特定浏览的bug进行修正 if (xmlhttp.overrideMimeType) { xmlhttp.overrideMimeType("text/xml"); } } else { if (window.ActiveObject) { //针对IE6、IE5、 //两个可以用于创建XMLHttpRequest对象的空间名称,保存在一个js的数组中 //排在前面的是新版本 //通过尝试的方式创建XMLHttpRequest对象 var activexname = ["MSXML2.XMLHTTP","Microsoft.XMLHTTP"]; for(var i = 0; i < activexname.length;i++){ try{ //取出一个控件名进行创建,如果创建成功就终止循环 //如果创建失败,会抛出异常,然后可以继续循环,继续创建 xmlhttp = new ActiveObject(activexname[i]); break; }catch(e){ } } } } //判断xmlhttprequest是否创建成功 if(!xmlhttp){ alert("XMLHttpRequest对象创建失败!"); return; }else{ alert(xmlhttp.readyState); } //2、 注册回调函数 - callback_02 //注册回调函数时,只需要函数名,不需要加括号 //我们需要将函数名注册,如果加上括号,就会把函数的返回值注册上,这是错误的 //onreadystatechange 请求状态改变的触发器,状态一改变就会调用回调函数 xmlhttp.onreadystatechange = callback_02; //3、设置连接信息 //第一个参数表示http的请求方式,支持的http请求方式主要是get、post //第二个参数表示的是请求的url地址,get方式请求参数也在url中 //第三个参数表示采用异步还是同步方式交互,ture表示异步 //get方式发送请求 //xmlhttp.open("GET","AjaxServerlet?name=" + username,true); //post方式请求 xmlhttp.open("POST","AjaxServerlet",true); //post方式需要自己设置请求头 xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded;"); //4、发送数据,开始和服务器端进行交互 //同步方式下,send这句换会在服务器端数据回来后才执行 //异步方式下,send这句话会立即完成执行 //post方式发送数据 xmlhttp.send("name=" + username); } //创建回调函数callback_02 function callback_02(){ alert(xmlhttp.readyState); //5、接收响应数据 //判断对象的状态是交付完成:'4'表示交互完成 readyState(请求状态)有5个状态0、1、2、3、4 //分别表示未初始话、open方法调用成功以后、服务器已答应客服端的请求、交互中(http头已经接收,相应数据尚未接收)、完成(数据接收完成) if(xmlhttp.readyState==4){ //status服务器返回状态吗 //判断http的交互是否成功:'200'表示成功交互 if(xmlhttp.status==200){ //获取服务器返回的数据 //获取服务器端输出的纯文本的数据 //responseText接收服务器返回的文本内容 //responseXML接收服务器返回的兼容DOM的XML内容 var responseText = xmlhttp.responseText; //将数据显示在页面上 document.getElementById("result").innerHTML = responseText; } } }
二、jquery方式发送异步请求
//ajax用户名校验 //定义用户名校验的方法1 function verify1() { //1、获取文本框中的内容 var username = $("#name").val(); //2、将文本框中的内容发送给服务器端的servlet //使用jquery的XMLHTTPrequset对象get请求的封装 //callback回调函数,只是函数名不要写括号,故参数也不用写 //get请求,解决中文乱麻问题的方法1,页面端发出的数据作一次encodeURI,服务器段使用new String(oldUserName.getBytes("iso8859-1"),"UTF-8"); //get请求,解决中文乱麻问题的方法2,页面端发出的数据作两次encodeURI,服务器段使用URLDecoder.decode(oldUserName,"UTF-8") var url = "AjaxServerlet?name=" + encodeURI(encodeURI(username)); //var url = "AjaxServerlet?name=" + username; $.get(url,null,callback); } /* * 回调函数 * data即服务器返回的数据 */ function callback(data) { //3、接收服务器端返回的数据 var callData = data; //4、将服务器端返回的数据动态的显示在页面上 $("#result").html(callData); } /* * 用户名方法校验2 * 将上面的jquery运用精简为 * function(callData){}为匿名函数 */ function verify2() { $.get("AjaxServerlet?name=" + $("#name").val(), null, function (callData) { $("#result").html(callData); }); } /* * jquery 方法读取服务器端的XML文件 * 用jquery的ajax方法请求数据 */ function verifyXML(){ //1、读取文本框中的内容,并进行编码 var username = $("#name").val(); //var username = $("#name").val(); //javaScript中一个简单的对象定义方法 //解决中文乱码问题,agax请求一次encodeURI(username)服务器端URLDecoder.decode(oldUserName,"UTF-8")解码 var data = {name:encodeURI(username),age:20}; $.ajax({ type:"post", //http请求方式 url:"AjaxXMLServlet", //服务器端url地址 data:data, //发送给服务器端的数据 dataType:"xml", //告诉jquery返回的数据格式 success:callbackXml //定义交互完成,并且服务器正确返回数据时调用的回调函数 }) } function callbackXml(data) { //需要将data这个dom对象中的数据解析出来 //首先需要将dom的对象转换为jquery对象 //data为服务器端返回的数据 var jqueryobj = $(data); //获取message节点 var message = jqueryobj.children(); //获取文本内容 var text = message.text(); //将内容输出到页面 $("#result").html(text); }
相关推荐
**Ajax异步请求小结** Ajax(Asynchronous JavaScript and XML)是一种用于创建快速、动态网页的技术,它允许在不重新加载整个页面的情况下,与服务器交换数据并更新部分网页内容。这种技术极大地提升了用户体验,...
总的来说,Ajax异步请求能够实现不刷新整个页面的情况下与服务器通信,提高用户体验。通过JavaScript和Java的配合,我们可以构建动态、高效的Web应用。这个示例提供了一个基础的Ajax请求流程,实际应用中,可能需要...
本示例工程"Java通过jQuery实现ajax异步请求"着重展示了如何利用jQuery的AJAX功能与后端Java服务器进行数据通信,从而实现页面的无刷新更新。以下将详细解释这个过程中涉及的关键知识点。 首先,jQuery是一个强大的...
综上所述,Ajax异步请求分页是提高Web应用性能和用户体验的重要手段,结合C#的服务器处理能力,能够构建出高效且用户友好的分页系统。在实际开发中,需要根据项目需求灵活运用各种技术和策略,确保系统的稳定性和可...
本篇文章将深入探讨Ajax异步请求的验证,解决初级问题,为初学者提供参考。 一、Ajax的基本概念 Ajax并非一种单一的技术,而是一种利用现有Web技术(如JavaScript、XML、HTML、CSS等)组合成的新应用方式。它的...
用javascript硬编码方式和jquery框架方式完成ajax异步请求的示例源码。直接访问方式是,可以直接在tomcat启动后访问helloAjaxDemo.jsp或是helloJQueryAjaxDemo.jsp。
总结起来,这个"一个实用了spring mvc和ajax异步请求的例子"涵盖了Web开发中的重要概念,包括Spring MVC的Controller设计、RESTful API的实现以及Ajax的异步数据交互。这样的组合使得Web应用更加动态,用户体验更佳...
在“jQuery-ajax-用户名异步请求”这个场景中,我们可能是在设计一个注册或登录界面,需要在用户输入用户名时实时检查该用户名是否已被占用。这个过程可以通过Ajax调用后台接口实现,避免用户频繁提交表单进行检查。...
在本示例中,我们需要实现一个功能:当用户在树形菜单中选择某一节点时,通过 AJAX 异步请求向后台添加新的子节点,并在前端动态显示出来。 首先,我们看到 HTML 结构中有一个 `#demo` ID 的 `ul` 元素,它是 layui...
这可以通过Ajax异步请求来实现,无需用户等待整个页面刷新,提供更好的用户体验。 以下是一般的步骤: 1. **前端视图(View)**:在HTML表单中,我们添加一个事件监听器,如`onkeyup`或`onblur`,当用户在用户名...
**Ajax异步请求与用户体验** Ajax(Asynchronous JavaScript and XML)技术是Web开发中的一个重要工具,它使得网页可以在不刷新整个页面的情况下与服务器进行数据交互。这种技术在现代Web应用中广泛使用,因为它极...
- **带参数的Ajax异步请求**: ```javascript $.ajax({ type: "POST", async: false, cache: false, url: "listComplaintQuantityReports.action", data: { "quantityReport.summaryStartDate": $("#...
这种功能通常与Ajax异步请求后台数据相结合,实现无缝的数据加载。 一、H5移动端上滑加载原理 H5移动端上滑加载的核心在于监听用户的滚动事件,当用户滚动到页面底部时,触发一个函数,该函数通过Ajax发送请求至...
**Ajax异步请求服务器——基于Jquery** Ajax(Asynchronous JavaScript and XML)是一种在无需刷新整个页面的情况下,能够更新部分网页的技术。它通过在后台与服务器进行少量数据交换,使得网页实现异步更新。在本...
### AJAX异步请求详解 #### 一、引言 AJAX(Asynchronous JavaScript and XML)是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。它通过在后台与服务器进行少量数据交换,使得网页可以实现动态更新...
**ASP.NET AJAX异步请求详解** ASP.NET AJAX(Asynchronous JavaScript and XML)是微软提供的一套用于构建富客户端Web应用程序的技术,它允许开发者创建具有部分页面刷新、无刷新更新和异步交互功能的Web应用。在...
标题中的“ajax异步请求数据分页”是指使用AJAX技术在后台动态获取所需的数据部分,而不是一次性加载整个数据集。这样可以提高网页的响应速度和用户的交互体验。AJAX的核心是XMLHttpRequest对象,它允许我们在不刷新...
通过以上步骤,你可以在Struts2框架下实现Ajax异步请求,无需直接操作Servlet的`PrintWriter`,从而保持控制器层的简洁性,同时提升应用的交互体验。在StrutsAjaxDemo项目中,你可以找到具体的示例代码,学习如何将...