一比一还原axios源码至第八部分,其他功能有哪些实现细节?
- 内容介绍
- 文章标签
- 相关推荐
本文共计2130个文字,预计阅读时间需要9分钟。
到目前,我们完成了axios的大部分功能,接下来我们来补充一下其他的小功能。一、withCredentials这个参数可以明确表示是否是一个跨域请求。那么,它的使用场景是什么呢?就是当我们需要发送cookie时,就需要设置这个参数为true。
到此,我们完成了axios的绝大部分的功能,接下来我们来补全一下其他的小功能。
一、withCredentials这个参数可以可以表明是否是一个跨域的请求。那这个的使用场景是啥呢?就是我们在同域的请求的情况下,是会默认携带cookie的,跨域的话就不会携带cookie,如果我们想要跨域请求并携带cookie,那么就需要这个参数了。当然这个实现非常简单:
if (!utils.isUndefined(config.withCredentials)) { request.withCredentials = !!config.withCredentials; }
嗯,就这样就完了。
然后我们需要创建一个作为接受跨域请求的server2.js作为跨域访问的服务器。代码可以在gitHub上看哦。就不多说了。
二、XSRF 防御就是跨站请求伪造,登录信任的A网站后会产生该用户的信任cookie,由于浏览器在发送请求的时候会自动携带cookie,如果用户在没有登出的情况下登录黑客网站,那么就会把带有信任的cookie传递给黑客网站,此时黑客网站拿到你的用户cookie就可以伪造用户登录A网站了。
本文共计2130个文字,预计阅读时间需要9分钟。
到目前,我们完成了axios的大部分功能,接下来我们来补充一下其他的小功能。一、withCredentials这个参数可以明确表示是否是一个跨域请求。那么,它的使用场景是什么呢?就是当我们需要发送cookie时,就需要设置这个参数为true。
到此,我们完成了axios的绝大部分的功能,接下来我们来补全一下其他的小功能。
一、withCredentials这个参数可以可以表明是否是一个跨域的请求。那这个的使用场景是啥呢?就是我们在同域的请求的情况下,是会默认携带cookie的,跨域的话就不会携带cookie,如果我们想要跨域请求并携带cookie,那么就需要这个参数了。当然这个实现非常简单:
if (!utils.isUndefined(config.withCredentials)) { request.withCredentials = !!config.withCredentials; }
嗯,就这样就完了。
然后我们需要创建一个作为接受跨域请求的server2.js作为跨域访问的服务器。代码可以在gitHub上看哦。就不多说了。
二、XSRF 防御就是跨站请求伪造,登录信任的A网站后会产生该用户的信任cookie,由于浏览器在发送请求的时候会自动携带cookie,如果用户在没有登出的情况下登录黑客网站,那么就会把带有信任的cookie传递给黑客网站,此时黑客网站拿到你的用户cookie就可以伪造用户登录A网站了。

