解决post请求跨域请求第三方服务器
# 只是一个解决的方法,不是最完美的,但是能解决问题
前端用vue,后端是django
问题:将选择的参数数据,通过http通信,访问第三方服务器
解决:按理说这是一个简单的http通信,只需要前端将参数数据,通过第三方服务器的API接口,发送过去就行了。
我遇到的问题是:首先这是一个post请求,需要解决跨域问题,因为平时都是通过后端引用corsheader第三方库设置解决跨域问题,但是这次访问的第三方的服务器,不是访问的django的后端服务器,导致这个方法不可用。
然后查询资料还有的解决方式就是:
1.通过jsonp跨域,原理是模拟页面标签加载静态资源的方式,通过动态创建script,再请求一个URL实现跨域,但是缺点也有,就是只支持get请求,而我需要解决的是post请求,所以这个不可取。
2.iframe,这种方式有好几种组合方式,比如说:主域相同,子域不同。或者通过第三个页面等等,有兴趣可以去查询一下。
3.postmessage,这种方式主要是用来解决:多窗口之间消息传递,我用不到。
4.cors,首先普通的跨域请求,只需要后端进行设置,前端不需要设置,要是需要携带cookie,前后端都需要设置。这个方法网上有解决方式,就不多叙述,我为什么不采用,因为对前端不熟,而且都是通过对框架进行设置的,找不到地方。
5.nginx代理。
6.websocket协议。
我的解决方式比较笨,是让前端访问后端,然后通过后端进行requests.post()解决。