axios、node交互跨域请求
2018-03-17 22:15
246 查看
axios不能跨域请求,但是如何服务器端设置了
res.header(“Access-Control-Allow-Origin”, ‘*’);访问权限所有
axios便能够访问了
在此中如何未设置access-control-allow-origin,post请求报错
Failed to load http://localhost:3000/goods/addCart: Response to preflight request doesn’t pass access control check: No ‘Access-Control-Allow-Origin’ header is present on the requested resource. Origin ‘http://localhost:8080’ is therefore not allowed access.
在此中如何未设置access-control-allow-origin,get请求报错
Failed to load http://localhost:3000/goods/list?page=4&pageSize=8&sort=1&priceLevel=all: No ‘Access-Control-Allow-Origin’ header is present on the requested resource. Origin ‘http://localhost:8080’ is therefore not allowed access.
为post请求设置access-control-allow-origin,又会报一个错
Request header field Content-Type is not allowed by Access-Control-Allow-Headers in preflight respon
最终实现的解决方案:
在app.js设置统一设置
app.use(function (req, res, next) {
res.header(‘Access-Control-Allow-Origin’, ‘*’);
res.header(‘Access-Control-Allow-Headers’, ‘Content-Type, Content-Length, Authorization, Accept, X-Requested-With , yourHeaderFeild’);
res.header(‘Access-Control-Allow-Methods’, ‘PUT, POST, GET, DELETE, OPTIONS’);
if (req.method == ‘OPTIONS’) {
res.send(200); /让options请求快速返回/
} else {
next();
}
})
res.header(“Access-Control-Allow-Origin”, ‘*’);访问权限所有
axios便能够访问了
在此中如何未设置access-control-allow-origin,post请求报错
Failed to load http://localhost:3000/goods/addCart: Response to preflight request doesn’t pass access control check: No ‘Access-Control-Allow-Origin’ header is present on the requested resource. Origin ‘http://localhost:8080’ is therefore not allowed access.
在此中如何未设置access-control-allow-origin,get请求报错
Failed to load http://localhost:3000/goods/list?page=4&pageSize=8&sort=1&priceLevel=all: No ‘Access-Control-Allow-Origin’ header is present on the requested resource. Origin ‘http://localhost:8080’ is therefore not allowed access.
为post请求设置access-control-allow-origin,又会报一个错
Request header field Content-Type is not allowed by Access-Control-Allow-Headers in preflight respon
最终实现的解决方案:
在app.js设置统一设置
这里写代码片//设置跨域访问
app.use(function (req, res, next) {
res.header(‘Access-Control-Allow-Origin’, ‘*’);
res.header(‘Access-Control-Allow-Headers’, ‘Content-Type, Content-Length, Authorization, Accept, X-Requested-With , yourHeaderFeild’);
res.header(‘Access-Control-Allow-Methods’, ‘PUT, POST, GET, DELETE, OPTIONS’);
if (req.method == ‘OPTIONS’) {
res.send(200); /让options请求快速返回/
} else {
next();
}
})
相关文章推荐
- 【vue】——Axios 中文说明
- 抛弃vue-resource拥抱axios
- vue2.0项目实战(3)使用axios发送请求
- axios-mock-adapter
- vue+axios实现登录拦截的实例代码
- axios
- axios的post
- axios 返回的 error 的处理
- axios使用笔记
- vue中的ajax - axios
- Vue2.0 axios前后端登陆拦截器
- 使用 axios 详解
- 一些关于使用axios的心得
- Vue 爬坑之路(六)—— 使用 Vuex + axios 发送请求
- Vue2+VueRouter2+Webpack+Axios 构建项目实战2017重制版(二)安装 nodejs 环境以及 vue-cli 构建初始项目
- axios 中文文档 翻译
- vue.js+koa2项目实战(五)axios 及 vue2.0 子组件和父组件之间的传值
- nuxt+axios解决前后端分离SSR的示例代码
- vue axios springboot 跨域
- vue 请求 之 axios