美文网首页
2018-01-29 自己实现一个AJAX

2018-01-29 自己实现一个AJAX

作者: tsl1127 | 来源:发表于2018-02-02 00:45 被阅读0次

JS可以设置任意请求header吗?
可以:用setRequestHeader
放在.open和.send之间


image.png
image.png

请求头显示出来了

那第4部分能不能设置?(要用POST请求)
搜 js set request body
.send()


image.png
image.png

getAllResponseHeaders()
getResponseHeader


image.png

所有的响应的头——字符串

request.statusText就是获取OK啊什么的

requset.responseText

image.png

AJAX的请求和响应

服务端需要端口号


image.png

jquery.ajax

window.jQuery.ajax的内存图


image.png

写jquery.ajax的目的是把4行代码变成一行


image.png image.png

问题:时间长了,无法确定下面的参数是什么意思


image.png

问题:当使用GET方法,第三个参数其实不需要的,那怎么办?只能写undefined或者null,代码看起来丑
比如某个API xxx(null,null,null,null,1)完全不知道每个参数的意思

办法:用有结构的参数

箭头函数是没有arguments的

image.png

使用方用到了successFn,而里面的参数x是被调用方的第一个参数request.responseText,即x <-request.responseText,这就叫做callback

如果请求失败了,有没有可能依然存在第4部分?
答案:是的

模拟下:


image.png image.png
image.png image.png
image.png

一个函数如何接受两种形式的参数?


image.png image.png image.png
image.png

ES5和ES6

如果成功了,会打印出responsText和成功


image.png

'成功'是作为第二个then的参数传进去的
第一个then里的return的值会传递给下一个then的输入参数
问题:为什么成功之后打印出来的结果是个对象?(responsText)


image.png

因为jQuery发现你的返回值的content-type是text/json,json这4个字母,会自动把字符串转换成对象

image.png

代码变更

window的promise是怎么的?


image.png

要用promise,需要new一个,需要传入一个函数


image.png
promise返回的对象带有then属性,所以可以调用then
then也返回一个promise对象,所以可以继续then

相关文章

  • 2018-01-29 自己实现一个AJAX

    JS可以设置任意请求header吗?可以:用setRequestHeader放在.open和.send之间 请求头...

  • 封装一个自己的通用Ajax

    一个简单的Ajax请求 首先在封装一个自己的ajax函数之前,我们需要先知道怎么实现一个简单的ajax请求。 这里...

  • JavaScript设计模式---0003工厂模式----抽象工

    抽象工厂模式 假设需要实现一个创建ajax的工厂 实现抽象工厂 实现自己的工厂

  • 自己实现AJAX

    1. JS操作请求与响应 1.1 JS 可以设置任意请求 header 吗? 可以 第一部分 re...

  • 自己实现AJAX

    如何发请求? 用form可以发请求,但是会刷新页面或新开页面;用a可以发get请求,但是也会刷新页面或新开页面;用...

  • 自己实现 Ajax

    用不同方法来实现 Ajax 基本是前端的经典考题了,这篇文章总结了2种常用的实现 Ajax 方法,分别是原生 JS...

  • Ajax

    标签: Ajax 正文 一、实现一个原生Ajax 二、Ajax状态 三、将原生的 ajax 封装成 promise

  • js 异步系列(1) -发展

    ajax 最早为了实现局部请求无刷新,有了ajax的概念。在原生js是时代,请求数据都需要自己手写一个ajax。现...

  • (转载) 自己实现AJAX

    自己实现AJAX 原文链接:https://blog.csdn.net/grapelove01/article/d...

  • Ajax异步请求[17.7.10]

    Ajax异步请求 Ajax全称为Asynchronous Javascript and XML。通过Ajax实现了...

网友评论

      本文标题:2018-01-29 自己实现一个AJAX

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