别人家的 api 不允许跨域,是不是 xmlhttprequest 没用了,要在 header 里加 Authorization,可是不是普通的 form 表单也不能用了,是不是只能用服务器脚本和 curl 才行了啊?(网页端)

2019-09-29 08:37:57 +08:00
 pinews
4496 次点击
所在节点    程序员
27 条回复
cyrbuzz
2019-09-29 15:10:41 +08:00
巧了...
刚写了一个前端的学习项目,调用的实验楼 API 也是不允许跨域的。
解决方法也是常规的在自己写一个后端代理做转发。
这里是前端地址( Vue + axios ):
https://github.com/HuberTRoy/vue-shiyanlou

这里是写的代理转发地址( Django + requests ):

https://github.com/HuberTRoy/vue-shiyanlou-backend

还总结了一下最后有写跨域部分:
https://juejin.im/post/5d8ec6f0e51d4577ef53de1e
Curtion
2019-09-29 15:14:32 +08:00
只能用服务器代理一下,或者修改 chrome 配置,例如使用 electron 开发软件就可以关闭同源策略来跨域访问。
pinews
2019-09-29 15:31:09 +08:00
@littlespider89 原来的想法是演示性质的,只要结果预期就可以了。
@Trim21 你太了解我了

@arrow8899 有些 api 是可以跨域的,如 github,如果采用非网页开发,就不考虑跨域问题了。
@wunonglin 明白了。
pinews
2019-09-29 15:32:17 +08:00
@Curtion 好的,我去了解一下 electron。
Curtion
2019-09-29 15:44:20 +08:00
@pinews #24 electron 可以跨域是因为可以设置 webPreferences.webSecurity = false 来关闭 web 安全检测达到跨域。如果是网站的话你只能要求有效访问者关闭浏览器中的安全策略,如果你不能这么做,那么就只能使用服务器代理者一种方式
340244120w
2019-09-29 15:50:14 +08:00
yexiaoxing
2019-09-29 18:09:30 +08:00
now.sh 搞个 serverless 的代理

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/605220

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX