JS实现AJAX请求_1(基础篇)
AJAX:全称“Asynchronous JavaScript and XML” (异步的JavaScript与XML)
AJAX请求的特点:
1,不刷新页面
2,服务器仅返回需要的数据
AJAX引擎:XMLHttpRequest
此对象是浏览器中的内置对象,在目前的所有浏览器中都支持此对象。
IE中获取此对象:
if(window.ActiveXObject){ var xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); }
非IE中获取此对象:
var xmlHttp=new XMLHttpRequest();
兼容模式:
var xmlHttp;//声明一个对象 function createXMLHttpRequest(){ if(window.ActiveXObject){//如果是IE,采用这种方式获取 xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); }else{//非IE采用这种方式获取 xmlHttp=new XMLHttpRequest(); } }
请求的格式:
xmlHttp.open(请求方式,请求地址,[是否为异步请求]);
xmlHttp.send();
Get请求:
xmlHttp.open("GET","ajax.do?name=tom",true); xmlHttp.send();
注:
get请求的传值方式为请求地址后面跟 ?key=value
Post请求:
xmlHttp.open("POST","ajax.do",true); xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); xmlHttp.send("name=tom");
注:
post请求的传值方式是在send()方法中进行传值,多个值用逗号隔开:name=tom,age=12
setRequestHeader的意思是设置请求头的类型为表单类型:Content-Type="application/x-www-form- urlencoded" 是form表单的默认属性
一个完整的AJAX请求的流程:
1,创建XMLHttpRequest对象
2,调用xmlHttp.open()设置请求内容
3,设置回调函数(根据服务器返回的状态信息,做什么事情)
4,调用xmlHttp.send()发送请求
function sendAjax(){ createXMLHttpRequest();//调用上面设置的兼容模式 xmlHttp.open("GET","ajax.do?name=tom",true); xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); xmlHttp.onreadystatechange=callback;//状态信息发生改变调用函数 xmlHttp.send(); } //回调函数 function callback(){ alert("callback"); } sendAjax();//浏览器会弹出几次框(不同的浏览器可能不同)
获取AJAX请求的状态码和HTTP协议的状态码:
AJAX请求的状态码有四个值:
var xmlState=xmlHttp.readyState;
1,已初始化
2,数据传输中
3,响应数据传输中
4,响应完毕
HTTP协议的状态码有很多:
var httpState=xmlHttp.status;
常见的状态码如下:
状态码 | 意义 |
200 | 服务器正确处理了请求并响应 |
404 | 请求的页面未找到 |
403 | 没有权限访问请求的页面 |
405 | 页面不接收该请求方式 |
408 | 请求超时 |
500 | 服务器处理请求时发生异常 |
503 | 服务暂时不可用 |
304 | 网页未修改 |
使用Servlet获取服务器端的文本:
//ajax.do //这是Servlet类中的doGet方法 public void doGet(HttpServletRequest request,HttpServletResponse response){ PrintWriter out=response.getWriter(); out.print("OK"); out.flush(); out.close(); }
//callback function callback(){ if(xmlHttp.readyState==4){//响应完毕后 if(xmlHttp.status==200){//http状态码为200时 var result=xmlHttp.responseText;//获取ajax请求的文本内容 alert(result); } } }
总结:
- Ajax请求使用 XMLHttpRequest 对象
- IE和非IE获取对象的方式不同
- GET,POST请求的传值问题
- Ajax请求的流程
- Ajax请求的状态码和HTTP协议中服务器返回的状态码
- 获取简单地服务器返回的文本信息
结语:(hunthon:入门级程序员)
AJAX请求用来处理网页请求是非常棒的技术,本篇博客旨在介绍Ajax的最简单的用法,后续的文章会对Ajax做较详细的描述,文章中如果出现错误请及时向我反馈,希望与大家一起进步。
相关推荐
此外,还可以使用jQuery、knockout.js等JavaScript库来处理Ajax请求,它们提供了更简洁的API,减少了代码量。 总之,这个压缩包为学习和实践Ajax技术提供了一个具体的场景——无刷新留言功能,通过C#和.NET框架实现...
在JavaScript开发中,有时我们需要对全局的Ajax请求进行拦截,以便进行统一的处理,比如添加统一的错误处理、数据格式化、性能监控等。这种需求通常可以通过“Ajax Hook”技术来实现。Ajax Hook允许我们捕获并修改...
用户发送的消息会被编码为JSON对象,然后通过Ajax请求发送到PHP服务器,服务器处理这些消息后再将新消息以JSON形式返回给客户端,更新聊天界面。 **AjaxChat_XML**同理,区别在于它使用XML作为数据交换格式。XML...
在 Native 端,我们需要实现一个 JavaScript Interface,例如 onAjaxRequest 方法,该方法将接收 Fly.js 传来的请求对象,并完成真正的请求后,将响应对象通过 handler 返回给 Fly.js。 通过这种方式,我们就可以...
在JSP中集成Ajax,我们通常会创建一个JavaScript函数来处理Ajax请求。这个函数可能包括以下步骤: 1. 创建XMLHttpRequest对象:这是Ajax通信的基础,不同的浏览器可能有不同的实现方式,但通常可以通过`new ...
标题:利用 HttpSession实现Ajax请求重定向 描述:如何在 Ajax 请求正常执行的情况下,实现网页重定向 标签:Ajax 重定向 HttpSession post 在本文中,我们将探讨如何使用 HttpSession 实现 Ajax 请求重定向。 ...
3. 如何在Struts的Action中处理Ajax请求,以及返回JSON或XML格式的数据。 4. 在JSP页面中使用JavaScript或jQuery进行Ajax调用,以及处理返回的结果。 5. 如何设计和组织MVC架构,使得Struts和Ajax能够有效地协同工作...
在JavaScript中,创建一个基本的Ajax请求包括以下步骤: 1. **创建XMLHttpRequest对象**:这是Ajax的核心,它负责与服务器建立连接并发送/接收数据。 ```javascript var xhr = new XMLHttpRequest(); ``` 2. **...
然而,需要注意的是,由于Ajax请求是异步的,开发者需要处理可能出现的并发问题,确保数据的一致性,并考虑到浏览器的兼容性问题。** **总结来说,"ajax_example.rar"中的示例展示了如何利用Ajax技术进行异步通信,...
2. **事件监听**:使用JavaScript(通常基于jQuery或其他库)添加事件监听器,当用户点击登录按钮时触发Ajax请求。 3. **构建Ajax请求**:使用XMLHttpRequest或现代浏览器提供的fetch API创建异步请求。设置请求的...
8. **错误处理与调试**:学习如何有效地处理JavaScript和Ajax请求中的错误,以及使用浏览器的开发者工具进行调试,是提升开发效率和代码质量的重要环节。 9. **jQuery与Ajax**:jQuery是一个流行的JavaScript库,...
JavaScript 和 AJAX 是 web 开发中的两个重要概念,广泛应用于创建交互性强、动态更新的网页。这份"Learn_JavaScript_and_Ajax_with_w3Schools.zip"压缩包包含了一个电子书和一个文本文件,旨在帮助学习者掌握这两种...
开发者可以从中学到如何配置Struts的Action、Interceptor以及如何编写JavaScript代码来发送Ajax请求,以及如何在后台处理这些请求并返回响应数据。此外,通过分析项目中的JSP页面,还可以了解如何在页面上动态渲染从...
4. **服务器通信**:服务器端可能采用PHP、Node.js或其他后端语言处理这些Ajax请求,完成消息的存储和检索,并返回结果给客户端。 5. **数据解析**:接收到服务器响应后,解析返回的数据,通常是JSON格式,然后将新...
按钮点击事件中,使用JavaScript编写Ajax请求代码,如设置请求方法(GET或POST)、URL、数据(如果需要)以及回调函数。 2. **Ajax请求**:使用XMLHttpRequest对象,创建一个新的请求,设置请求的URL为Smarty模板...
2. **JavaScript文件**:可能名为script.js或类似,这是处理Ajax请求的主要脚本。在这个文件中,开发者将创建XMLHttpRequest实例,设置请求参数(如URL、HTTP方法、请求头等),并监听其状态变化。当请求完成时,会...
标题中提到的"extjs ajax同步请求所需js"是指ExtJS框架中用于执行同步Ajax请求的相关JavaScript代码。在ExtJS中,Ajax请求通常通过`Ext.Ajax`对象来实现。与传统的异步请求不同,同步请求会阻塞浏览器,直到请求完成...
1. `listajax.html` 可能是一个展示列表的页面,其中包含触发Ajax请求的按钮或链接。 2. `postajax.jsp` 是接收Ajax请求的JSP页面,处理请求后返回数据。 3. `www.pudn.com.txt` 可能是下载链接或参考文档,可能与...
【Ajax 实现无刷新对数据库操作】是一种现代Web开发中的技术组合,主要用于创建更快速、更互动的用户体验。Ajax(Asynchronous JavaScript and XML)的核心在于,它允许网页在不重新加载整个页面的情况下与服务器...