美文网首页
ajax(一),关于XMLHttpRequest对象

ajax(一),关于XMLHttpRequest对象

作者: 0c2cd425ef56 | 来源:发表于2018-03-30 16:26 被阅读0次

网上有许多关于ajax的优缺点及历史介绍,这里不一一赘述,只对其如何与服务器交互和实现进行介绍。


一、与服务器的交互过程

套用石川老师的话,客户端与服务器交互的过程就等同于你和别人打电话的过程。

步骤 打电话过程 ajax从服务器获取数据过程
1. 准备手机 创建ajax对象
2. 拨通号码 与服务器建立连接
3. 发送请求
4. 接收返回值

二、代码实现

//1.创建ajax对象
var xhr ;
if(window.XMLHttpRequest) {
  xhr = new XMLHttpRequest();
} else {  //在IE6以下,需要用ActiceXObject创建 
  xhr = new ActiveXObject("Microsoft.XMLHTTP");
}

//2.与服务器建立连接,告诉服务器需要什么数据(文件)
xhr.open('get', 'filename.json', true);

//3.发送请求
xhr.send(null);

//4. 接收返回值
xhr.onreadystatechange = function() {
  if(xhr.readyState == 4) {
    if(xhr.status >= 200 && xhr.status < 300) {
      //success code
    } else {
      //fail code
    }
  }
}

这就是最简单的ajax请求。

1.参数说明:

xhr.open(method, url, anysc);
[1] method: 请求方法(get,put,update,delete...等等)
[2] url: 目标资源的地址
[3] anysc: 此次请求是否为异步操作

xhr.send(str)
[1] str为提交到服务器的请求体参数。形如 " key=val&key=val "

2.onreadystatechange, readyState, status说明。

xhr.readyState(表示ajax所处的活动阶段):
0 未初始化,尚未调用open()
1 启动,已调用open(),尚未调用send()
2 发送,已调用send(),尚未接收到数据
3 接受,已接收到数据,尚未完全接收或未解析
4 完成,ajax请求结束,数据可在客户端使用

xhr.onreadystatechange(事件):当readyState改变时,触发此事件,所以,一个完整的ajax请求/响应过程中,会触发4次

xhr.status:请求结果,http状态码


相关文章

  • AJAX

    ajax XMLHTTpRequest对象是Ajax的核心,XMLHTTpRequest对象使得js脚本能够实现对...

  • 学习封装ajax

    Ajax的核心 Ajax的实现核心就是XMLHttpRequest对象,浏览器通过XMLHttpRequest对象...

  • 原生ajax

    XMLHttpRequest 对象   XMLHttpRequest对象是ajax的基础,XMLHttpRequ...

  • JS Ajax

    Ajax的核心是XMLHttpRequest对象 XMLHttpRequest对象 跨域资源共享问题 Ajax的扩...

  • ajax(一),关于XMLHttpRequest对象

    网上有许多关于ajax的优缺点及历史介绍,这里不一一赘述,只对其如何与服务器交互和实现进行介绍。 一、与服务器的交...

  • javascript 和 jQuery 的Ajax 用法

    ajax技术的核心是XMLHttpRequest对象(简称XHR) ajax通过原生的XMLHttpRequest...

  • 使用js实现AJAX和JSONP

    ajax的核心是XMLHttpRequest。一个完整的AJAX请求步骤:实例化XMLHttpRequest对象,...

  • 走进 Ajax

    目录 一、什么是Ajax 二、XMLHttpRequest 对象 1.创建 XMLHttpRequest 对象 2...

  • ajax

    XMLHttpRequest 对象 jquery ajax使用

  • 原生AJAX以及AJAX基本封装

    AJAX: XMLHttpRequest是AJAX的基础 1.创建一个XMLHttpRequest对象: 2.用X...

网友评论

      本文标题:ajax(一),关于XMLHttpRequest对象

      本文链接:https://www.haomeiwen.com/subject/qegbcftx.html