关于跨域这几天的总结

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

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

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

扫码关注云+社区