Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
4.0k views
in Technique[技术] by (71.8m points)

vue+flask的前后端分离项目,通过nginx处理跨域时对post请求无效

前端是vue-element-admin的后台系统, 后端接口用flask写的, vue和flask都通过nginx部署的, nginx里加了对跨域的处理, 但是前端的GET请求正常, post请求就不行了.

这是后端的nginx部署:
image

这是vue的nginx部署:
image

下面是OPTIONS和POST请求:
image
image
有这样的报错提示:
image

在没有给nginx加那三个处理跨域的头部前, GET请求也是会报错的, 加上之后GET请求成功了, 那我感觉跨域应该是起作用了的, 但是POST的这个实在不知道问题在哪里


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

解决了, 自答一下.
先说怎么解决的. 刚才一直在疯狂查办法, 各种尝试, 最终成功的是在add_header Access-Control-Allow-Origin * always这个设置后面加"always", 加完发现好使了!

再说下根本原因, 其实问题不在缺了"always"这个配置上, 这个配置并不是必须的, 关键在于add_header命令对响应码是有要求的!!!!
image
而我写上面的login接口时很放飞自我的返回了个202 -_-! 正好不在允许范围


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...