关于 options 请求的问题

跨域请求的时候会发送两个请求,其中有个options请求,这个请求中header 信息中自定义的参数是没有,可是我后端接口需要验证headers信息,当没有的时候直接返回401,options 请求接受到这个,后面的正常请求就不会继续了(即使后面请求中header 里面有自定义参数),不知道大家一般是怎么处理的,我能想到的就是把这种错误返回200,然后给错误信息,错误码,这样后面的请求就能正常了,或者把options请求和别的请求分开处理,这样是不是太麻烦了

api
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 6

不太清楚你的目的,但似乎隐约感觉到,你在 Options 请求内验证自定义 Headers 的逻辑是存在设计问题的。

5年前 评论

@Wi1dcard ··其实之前没有单独针对options请求的处理,所有形式的请求都是走的相同的逻辑代码。因为我的逻辑代码中有对header内容的验证,options请求中没有自定义的header内容,后端会返回401 的http状态码,导致后面的正常请求不能发送

5年前 评论

可以创建个中间件提前处理掉所有的 OPTIONS 请求。

5年前 评论

@Wi1dcard 因为自己经验比较少嘛,不知道该如何处理这个options请求,是直接让他返回,还是需要加上对待正常返回时候添加的header头,比如

"Access-Control-Allow-Origin", '*'
5年前 评论

@Wi1dcard em 好的,谢谢

5年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!