Ajax的请求过程

1.创建XMLHttpResquest实例对象

2.Resquest.open(),三个参数分别是(method,url,async)

3.可以按需求来设置request.setRequestHeader来设置请求头

3.如果Resquest.open()的async参数是true(默认是true),那么就要定义事件监听器onreadystatechange,

他可以在事件监听器的函数内以检测request.readyState请求状态,request.status响应状态码,request.getResponseHeader('Content-Type')查找Content-Type头来验证响应主体是不是期望的类型。如果都通过callback返回request.responseText

4.如果Resquest.opne()的第三个参数async的值是false,那么表示就是同步的,就不需要事件处理程序了,不用设置request.onreadystatechange。

5.Request.send(),如果是post,里面要设置一个string来放置post的参数,get则不用。

下面来分别写一个post和get的例子

// 异步post

function postExp(url,msg,callback){

var request = new XMLHttpRequest()

request.open('post',url)

request.setRequestHeader('Content-type','text/plain;charseUTF-8')

request.onreadystatechange = (()=>{

if(request.readyState === 4 && request.status === 200){

callback('成功')

}else{

callback('失败了')

}

})

request.send(msg)

}

// 异步get

function getExp(url,callback){

var request = new XMLHttpRequest()

request.open('get',url)

request.onreadystatechange = (()=>{

// 请求结束并且成功

if(request.readyState === 4 && request.status === 200) {

var type = request.getResponseHeader('Content-type')

if(type.indexOf('xml') != -1 && request.responseXML){

callback(request.responseXML)

}else if (type == 'aplication/json'){

callback(JSON.parse(request.responseText))

}else {

callback(request.responseText)

}

}

})

request.send(null)

}

复制代码

ajax清请求过程,JS深入基础之Ajax的请求过程相关推荐

  1. Java写js的Ajax代码_用JS写的一个Ajax库(实例代码)

    myajax是一个用js编写的一个跨浏览器的ajax库,支持get, post, jsonp请求,精巧,简单. 一.发送GET请求: myajax.get({ data: {}, //参数 url: ...

  2. ajax异步处理代码实现,原生JS代码实现一个Ajax异步请求

    异步加载的方式 (1) defer,只支持IE (2) async: (3) 创建script,插入到DOM中,加载完毕后callBack 实现ajax之前必须要创建一个 XMLHttpRequest ...

  3. js文件中发送ajax请求,ulr路径不起作用的解决办法

    前言: 在写Python项目的时候,单独的js文件发送ajax请求,并不起效果并且提示路径错误 错误原因分析: {% url 'myadmin_updategoodsgrade' %} # 是模板中的 ...

  4. js源码 模仿 jquery的ajax的获取数据(get,post )的请求封装

    function ajax(obj){ // 默认参数 var defaults = { type : 'get',data : {}, url : '#', dataType : 'text', a ...

  5. 如何在js中使用ajax请求数据,在 JS 中怎么使用 Ajax 来进行请求

    在 JS 中怎么使用 Ajax 来进行请求 发布时间:2021-07-22 09:48:43 来源:亿速云 阅读:78 作者:chen 本篇内容介绍了"在 JS 中怎么使用 Ajax 来进行 ...

  6. jq ajax请求php原声,原生JS与jQuery对AJAX的实现

    原生JS与jQuery对AJAX的实现 一.定义 W3C里这么解释AJAX: AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML). ...

  7. js样式会影响ajax,js ajax同步请求造成浏览器假死的问题

    今天写了一个简单的loading效果,希望在点击加载按钮后会出现loading字样,然后执行ajax同步请求,加载完之后loading样式消失,本来是很简单的需求,结果遇上了很尴尬的问题~ 问题:当我 ...

  8. 原声ajax发送post请求,原生JS实现ajax 发送post请求

    1. [代码]原生JS实现ajax 发送post请求 var oStr = ''; var postData = {}; var oAjax = null; //post提交的数据 postData ...

  9. Python|SQL详解之DDL|DML|DQL|DCL|索引|视图、函数和过程|JSON类型|窗口函数|接入MySQL|清屏|正则表达式|executemany|语言基础50课:学习(14)

    文章目录 系列目录 原项目地址 第41课:SQL详解之DDL 建库建表 删除表和修改表 第42课:SQL详解之DML insert操作 delete 操作 update 操作 完整的数据 第43课:S ...

最新文章

  1. java将输出结果写入csv文件_如何在Java中将数据写入.csv文件?
  2. Linux系统设置定时任务
  3. 语法制导的翻译是如何实现的_全球化企业应该如何选择机器翻译解决方案?
  4. java 四舍五入_《JAVA编程思想》5分钟速成:1-4章:概述
  5. 收藏:深度剖析产品经理的「核心竞争力」
  6. Vue2.0以后,有哪些变化
  7. mysql index 信息_MySQL 索引
  8. 优化算法 - Adadelta
  9. 1. 码制与逻辑函数化简(数电)
  10. windows2003序列号
  11. laravel--6 eloquent查询作用域
  12. python matplotlib画饼形图
  13. NAACL 2021 Accepted Paper List
  14. R语言:从 csv 文件中读取数据,然后将数据写入 csv 文件
  15. 软工小队第二次会议 4-23
  16. 三星s20Android11怎么退回10,三星已经开始在GALAXY S20+上测试安卓11系统
  17. 呃呃呃呃呃呃鹅鹅鹅鹅鹅鹅饿
  18. PIM DM模式下的pim Assert 断言机制
  19. 关于达内培训的名企定制班
  20. 华为交换机S5700划分VLAN

热门文章

  1. 正态分布解释“剩女”现象——只因爱才子
  2. 那篇让汤普金斯进入梦境的相对论演讲
  3. Acquiring lock on /*/*/.vscode-server/bin/f80445acd5a3dadef24aa20916 vscode远程linux 服务器无法建立连接
  4. (pytorch-深度学习)包含并行连结的网络(GoogLeNet)
  5. Linux宏定义实现类成员函数,全面解析Linux内核的同步与互斥机制
  6. C++ Deque(双向队列
  7. Openresty Nginx 负载均衡
  8. JanusGraph(HugeGraph通用): 可视化 GraphEXP 插件安装
  9. 案例解析|广东自由流收费稽核方案,AI稽核新模式
  10. 一个优秀的可定制化Flutter相册组件,看这一篇就够了