前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >关于跨域这几天的总结

关于跨域这几天的总结

作者头像
杭州前端工程师
发布2018-06-15 12:18:24
5120
发布2018-06-15 12:18:24
举报

在前端开发中 难免会遇到跨域的问题,尤其是前后端分离的现在,后端如果是运行的服务器上,而前端运行在本地上,那必须要解决的跨域的问题。

下面列了什么情况下,要解决跨域的问题:

URL

说明

是否允许请求

http://a.example.com/ http://a.example.com/a.txt

同域名下

允许

http://a.example.com/b/a.txthttp://a.example.com/b/a.txt

同域名下不同目录

允许

http://a.example.com/http://a.example.com:8080/a.txt

同域名下不同端口

不允许

http://a.example.com/ https://a.example.com/a.txt

同域名下不同协议

不允许

http://a.example.com/ http://b.example.com/a.txt

不同域下

不允许

http://a.example.com/ http://a.foo.com/a.txt

不同域下

不允许

关于如何解决:

jsonp形式,在react中、angular也有针对这一情况来解决的,当然如果要用jsonp的形式,需要后端来配合返回数据的格式,这种情况在传到同一服务器下并不推荐这样做。

如果是传到同一服务器下的话,建议后端配置一个请求头,我用nodejs写的话,只需要配置一段话就可以了:

app.all('*', function(req, res, next) {

res.header("Access-Control-Allow-Origin", "*");

next();

});

这段话的意思,设置请求允许任何域名的请求。

以上是个人见解,本人入前端的时间不过1年,如有错误也请指正。关于以上内容如果有疑问可以下方留言;

关于此demo的例子,可以查看个人github:

https://git.oschina.net/kaykie/gerenceshikuayue

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档