今天尝试用 ExpressJS 做一个简单的接口 刚开始没有用 cors 中间件,直接在回调函数中手动设置 Access-Controll-Allow 那几个请求头
在 Chrome 下调试前端,get 请求是 OK 的,POST 请求不行,console log 显示是 CORS 问题。于是打开网络面板,选中 XHR,发现只有 2 个 请求,成功了的 GET 和失败了的 POST 请求,POST 请求显示 Provisional header are shown 。一脸懵逼,心想我明明设置了 CORS 那些请求头,这也没有 OPTIONS 请求,所以不存在 preflgiht,到底是哪里出了问题? 后来打开 Firefox,显示 POST 请求前发送了 OPTIONS 请求!!!
之前看 youtube 上有推送,标题大概是作为一个 Web 开发者你为什么该使用 Firefox 而不是 Chrome,内容主要是 Firefox 为调试 CSS 提供了各种方便。但没有在意,认为 firefox 的 UI 细节比较粗糙没有 Chrome 打磨的好,刚下载还自带广告 今天是给我上了一课,想起了之前传送 form data 时如果是文件 Chrome 都不会显示文件的 payload,而 firefox 可以,决定以后调试用 Firefox 了
1
sunjourney 2020-09-19 17:55:20 +08:00
chrome
1. 如果 chrome 有 bug,那就是所有人的的 feature 2. 不知道的情况哪有问题,但是这应该是不可能发生的 |
2
demonlin 2020-09-19 18:19:43 +08:00
Postman 才是测试接口发请求用的
|
3
ijrou 2020-09-19 18:33:39 +08:00
chrome,不解释,挺爽的。。。
|
4
freshgoose 2020-09-19 18:35:56 +08:00
chrome 很多请求都不显示 response body,firefox 就可以……
|
5
infun 2020-09-19 18:43:16 +08:00
@freshgoose 那是因为 post 在 chrome 里发两次,你看到的没有 response body 的是挥手的那次
|
6
des 2020-09-19 18:44:59 +08:00
edge,微软太实在了,直接所有东西都翻译了
|
7
vision1900 OP 心想我明明设置了 CORS 那些请求头
抱歉,这句话有误,是返回头,不是请求头 有人提到了 Postman,我只用过一次,没觉得和 curl 有什么区别。 用浏览器大部分情况是方便,不用切换应用 再者,测试 CORS 没浏览器不行吧 |
8
vision1900 OP 我很喜欢 Chrome 的 UI/UX,对它不满主要是它对 Web 开发者没那么友好
为了 UI 的简洁,地址栏 是 http 还是 https 被隐藏了 不显示 OPTIONS 请求导致我认为 CORS 的 preflight 没有发生 用 form-data 上传文件的时候不显示 文件的 payload 在 Firefox 中这些全都有 |
9
ochatokori 2020-09-20 18:38:33 +08:00 via Android
同被不显示 options 请求坑过
|
10
dream4ever 2020-09-28 09:52:09 +08:00
@vision1900 “地址栏 是 http 还是 https 被隐藏了”,这一条我记得可以在 Chrome 的选项设置中恢复,不过其他问题的确挺无奈的。另外考虑到国内 Chromium 内核浏览器占主流,我日常调试用的还是 Chrome 。
|