关于跨域这几天的总结

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

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

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 条评论
登录 后参与评论

相关文章

来自专栏跟着阿笨一起玩NET

修改资源管理器打开后的默认路径为计算机目录的方法

本文转载:http://www.2cto.com/os/201206/135775.html

2271
来自专栏Java技术栈

超详细的 Redis Cluster 官方集群搭建指南

今天从 0 开始搭建 Redis Cluster 官方集群,解决搭建过程中遇到的问题,超详细。

3102
来自专栏linux运维学习

linux学习第五十三篇: xshell使用xftp传输文件,使用pure-ftpd搭建ftp服务

xshell使用xftp传输文件 在xshell中按Ctrl+Alt+f打开并点击下载xftp: ? 会出现一个下载xftp插件的页面,上面的是免费...

2339
来自专栏GreenLeaves

三、公共语言运行时(CLR)简介

二、源代码=>程序集及程序集概念介绍中介绍了源代码通过C#编译器生成程序集(或者可执行应用程序exe)的整个过程,本文主要介绍公共语言运行时与程序集的关系. 1...

2416
来自专栏python学习之旅

Linux笔记(二): WIN 10 Ubuntu 双系统

2413
来自专栏Kotlin入门系列

win7基础 cmd 桌面空白处,按住shift后,通过右键菜单启动cmd窗口

2595
来自专栏LanceToBigData

Maven(四)之Maven在IntelliJ IDEA的配置与使用

前面介绍了Maven的一些基本知识,这一篇讲一下在IntelliJ IDEA配置和使用Maven 一、配置Maven   在File->Settings->Bu...

2187
来自专栏Java学习123

DOS批处理中%cd%和%~dp0的区别

2183
来自专栏开发 & 算法杂谈

静态数据竞争检测工具之LOCKSMITH-安装和使用

静态数据竞争检测工具都是基于中间语言开发的,在安装之前必须要先安装Ocaml和CIL

1052
来自专栏遊俠扎彪

Linux下安装Oracle SQL*Plus加强工具rlwrap

Linux的SQL*Plus不太好用,通过安装rlwrap可以提高用户体验,这样就可以使用光标上下键来查找历史命令,使用退格键backspace了。

2078

扫码关注云+社区

领取腾讯云代金券