AJAX总结

川长思鸟来 2022-07-12 13:56 290阅读 0赞

学知识久了之后需要去总结一下。
对于AJAX这个词,大家不会陌生,因为网络异步加载常常会用到这个技术。

首先看一下w3c文档,里面是这样对ajax介绍的:

AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)。
AJAX 不是新的编程语言,而是一种使用现有标准的新方法。
AJAX 是与服务器交换数据并更新部分网页的艺术,在不重新加载整个页面的情况下

看了介绍,我先就想如何快速的去开发,然后看到XHR创建对象(XHR指的是XMLHttpRequest)。XMLHttpRequest是AJAX的基础。所有现代浏览器(IE7+、Firefox、Chrome、Safari 以及 Opera)均内建 XMLHttpRequest 对象。var request = new XMLHttpRequest();但是对于之前老版本的 Internet Explorer (IE5 和 IE6)使用 ActiveX 对象
var request = new ActiveXObject(“Microsoft.XMLHTTP”);

于是就有了下面一种通用的写法:

  1. function getRequest(){
  2. var request;
  3. if(window.XMLHttpRequest){
  4. request = new XMLHttpRequest();
  5. }
  6. else {
  7. request = new ActiveXObject("Microsoft.XMLHTTP");
  8. }
  9. return request;
  10. }

如需将请求发送到服务器,我们使用 XMLHttpRequest 对象的 open() 和 send() 方法:

  • open(method,url,async):
    规定请求的类型、URL 以及是否异步处理请求。
    method:请求的类型;GET 或 POST
    url:文件在服务器上的位置
    async:true(异步)或 false(同步)
  • send(string):
    将请求发送到服务器。
    string:仅用于 POST 请求

    在以下情况中,请使用 POST 请求:
    无法使用缓存文件(更新服务器上的文件或数据库)
    向服务器发送大量数据(POST 没有数据量限制)
    发送包含未知字符的用户输入时,POST 比 GET 更稳定也更可靠

下面就是服务器的响应:
如需获得来自服务器的响应,请使用 XMLHttpRequest 对象的 responseText 或 responseXML 属性。如果来自服务器的响应并非 XML,请使用 responseText 属性。如果来自服务器的响应是 XML,而且需要作为 XML 对象进行解析,请使用 responseXML 属性。
onreadystatechange 事件
当请求被发送到服务器时,我们需要执行一些基于响应的任务。
每当 readyState 改变时,就会触发 onreadystatechange 事件。
readyState 属性存有 XMLHttpRequest 的状态信息。
下面是 XMLHttpRequest 对象的三个重要的属性:
onreadystatechange 存储函数(或函数名),每当 readyState 属性改变时,就会调用该函数。
readyState 存有 XMLHttpRequest 的状态。从 0 到 4 发生变化。
0: 请求未初始化
1: 服务器连接已建立
2: 请求已接收
3: 请求处理中
4: 请求已完成,且响应已就绪
status 200: “OK”
404: 未找到页面

现在说一下具体步骤是哪一些:
1获取ajax对象:获取XMLHttpRequest对象实例.
2设置回调函数:为Ajax对象onreadystatechange事件设置回调函数.
3创建请求:使用XMLHttpRequest对象的open方法.
4发送请求:使用XMLHttpRequest对象的send方法.

对AJAX的总结到此了。多实践那就会了。

发表评论

表情:
评论列表 (有 0 条评论,290人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Ajax面试总结

    1. 什么是ajax,为什么要使用Ajax(请谈一下你对Ajax的认识) 什么是ajax: AJAX是“Asynchronous JavaScript and XML”的缩

    相关 AJAX总结

    学知识久了之后需要去总结一下。 对于AJAX这个词,大家不会陌生,因为网络异步加载常常会用到这个技术。 首先看一下w3c文档,里面是这样对ajax介绍的: > AJAX