分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > IT知识

小白学AJAX-02-原理

发布时间:2023-09-06 02:05责任编辑:白小东关键词:暂无标签

基本原理

原理很简单

  1. new XHR
  2. xhr.onreadystatechange
  3. xhr.open(method, url, async)
  4. xhr.send()

创建xhr对象

兼容一下ie6,参考司徒正美大大的写法:

var xhr = new (window.XMLHttpRequest||ActiveXObject)(‘Microsoft.XMLHTTP‘)

XHR创建请求

xhr.open(method, url, async)是创建请求,并接收三个参数:

  1. 发送请求的类型,主要是"GET"和"POST";
  2. 请求的url,如果为GET,data参数拼接在url后面,
    如何为POST,xhr.send(data),并且设置header;
  3. async是否异步,默认为true表示异步,false表示同步。

XHR响应请求

onreadychange对象有个readyState属性,其值有5个

0:未初始化。尚未调用open()方法

1:启动。已经调用open()方法,但尚未调用send()方法

2:发送。已经调用send()方法,但尚未接收到响应

3:接收。已经接受到部分响应数据

4:完成。已经接受到全部响应数据,并且可以在客户端使用

xhr.onreadystatechange = function() { ?if (xhr.readyState === 4) { ?????var status = xhr.status; ?????if (status >= 200 & status < 300 || status === 304) { ?????????console.log(xhr.responseText) ?????} ?}}

发送请求

xhr.send(data),data的格式为‘param1=value1&param2=value2‘;

需要注意一点,类型为post时,setRequestHeader要放在xhr.open()之后。

小白学AJAX-02-原理

原文地址:https://www.cnblogs.com/hetianhe/p/9350992.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved