AngularJS踩坑(2)
来源:互联网 发布:淘宝美工接私活价格 编辑:程序博客网 时间:2024/05/18 01:36
AngularJS中的$http自定义headers之后的配置
客户端需要设置 withCredentials
$http({ url: SERVERURL + '/', method: 'GET', // 此处是自定义的头 headers: { 'x-access-token': localStorage.getItem('token') }, // 需要设置 withCredentials: true withCredentials: true })
服务器配置(express为例)
router // angular为首先发送用OPTIONS方法(做是的是预检查,从服务器确认是否可以继续) .options('/', function(req, res) { // 设置 Credentials 为允许 res.setHeader('Access-Control-Allow-Credentials', true); // 设置 Methods res.setHeader('Access-Control-Allow-Methods', 'POST, GET, PUT, DELETE, OPTIONS'); // 添加允许的请求头类型!! res.setHeader("Access-Control-Allow-Headers", 'x-access-token, Content-Type'); res.send(200); }) // 使下面的get请求可以返回(配置和上面一样) .use(function(req, res, next) { res.setHeader('Access-Control-Allow-Credentials', true); res.setHeader('Access-Control-Allow-Methods', 'POST, GET, PUT, DELETE, OPTIONS'); res.setHeader("Access-Control-Allow-Headers", 'x-access-token'); next(); }) // 真正的请求 .get('/', function(req, res) { // doSomething });
跨域配置
客户端不变
服务器端
.options('/', function(req, res) { // 添加 Access-Control-Allow-Origin, 其它不变 // 注意这里不能使用 * res.setHeader('Access-Control-Allow-Origin', req.headers.origin); res.setHeader('Access-Control-Allow-Credentials', true); res.setHeader('Access-Control-Allow-Methods', 'POST, GET, PUT, DELETE, OPTIONS'); res.setHeader("Access-Control-Allow-Headers", 'x-access-token, Content-Type'); res.send(200); }) .use(function(req, res, next) { res.setHeader('Access-Control-Allow-Origin', req.headers.origin); res.setHeader('Access-Control-Allow-Credentials', true); res.setHeader('Access-Control-Allow-Methods', 'POST, GET, PUT, DELETE, OPTIONS'); res.setHeader("Access-Control-Allow-Headers", 'x-access-token'); next(); }) .get('/', function(req, res) { // doSomething });
请求的时候不能使用localhost,请上传服务器在尝试跨域
参考文档
- http://camnpr.com/server/2007.html
- http://blog.csdn.net/ligang2585116/article/details/44806853
文章若有纰漏请大家补充指正,谢谢~~
http://blog.xinshangshangxin.com SHANG殇
0 0
- AngularJS踩坑(2)
- angularjs(2)
- AngularJS 学习笔记(2) AngularJS 表达式
- AngularJS系列:2、AngularJS的“禅道(理念)”
- AngularJS踩坑(1)
- angularjs 教程2
- AngularJs(Part 2)
- AngularJS 学习笔记2
- AngularJS 源码分析2
- AngularJS 入门2
- Angularjs-2 (basic)
- AngularJS Tutorial (2)
- 初识AngularJs(2)
- 深入AngularJs(2)
- angularJs基础(2)
- angularjs笔记2
- AngularJS学习2
- AngularJS杂记2----表达式
- 【机器学习】信息、熵和信息增益
- WebSphere Message Broker MQOutput动态指定多个输出
- Linux系统编程——进程的介绍
- Chosen:select下拉选择框美化插件及问题
- 【后缀自动机】[HDU 4641]K-string
- AngularJS踩坑(2)
- 几个oracle 存储过程的例子
- 通过选中项和Ctrl-C快捷键复制所选内容
- 苹果ID激活锁查询工具v1.2
- 三大框架(SSH)关于URL转发乱码问题(最简单暴力的一种解决办法)
- s5pv210 linux3.8.3内核移植之四:使linux内核支持nfs文件系统
- java websocket 示例
- Linux 可执行文件结构与进程结构
- CSS媒体查询