app接口服务器请求为什么会报错307_flask restful 处理跨域请求

使用flask restful api 库的时候,前后端联调的时候会出现跨域问题,起初从网站上找到的技术方案是在app外套一层CORS库:

CORS(app)

但是这样做了之后,发现并不能解决跨域问题,前端请求后端的时候还是会出现跨域错误.后来经过仔细一番分析,发现flask的CORS模块只能用于以装饰器为路由url的接口上.对以继承Resource类的restful api接口并不起作用.那么怎么办呢?

后来通过查看nginx日志,发现在出现跨域问题的请求的时候,无论是POST请求还是PUT请求,前端都会优先发起一个OPTIONS请求.然后再结合前端页面的报错信息,最后得出结论.前端在处理跨域请求时,总会先发起一个OPTIONS请求确认请求允许范围.那么在解决跨域请求时,只需要在每个资源url中加入options请求方式,并返回适当的响应头信息,应该能解决跨域问题.

于是,我新写了一个类继承Resource类,然后让所有的api接口类都继承这个新写的类,然后在新类中重写options方法,这样,新写的api接口都会有处理跨域的options方法了.

class 

上面的代码是我继承Resource类的新类,当写api接口的时候只需继承TabrResource类,接口就能自动处理跨域请求了.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值