现在基本项目都是实行前后端分离的原则,不管是ng 或者是vue 在开发中都无法避免跨域的这个问题
本人刚上手第一个vue项目,在调用api的时候出现了跨域的这个问题
这是封装好一个简单的post 请求
http.js
post (url, data) {
return axios({
method: 'post',
baseURL: '/api',
url,
data: data,
timeout: 10000,
headers: {
'X-Requested-With': 'XMLHttpRequest',
'Content-Type': 'application/json'
}
}).then(
(response) => {
return response
}
)
)
}
在调用的时候 先import 这个http 后 this.http.post(url,data) 调用api接口出现跨域问题
一开始我是用的webpack反向代理解决跨域的问题。
打开项目目录下的/config/index.js 找到 proxyTable
proxyTable: {
'/api': {
target: 'http://192.0.67.65/api',
changeOrigin: true,
pathRewrite: {
'^/api': ''
}
}
}
在开发过程中 ok 解决了 跨域的问题。
在 发布 npm run build 部署在本地打开的时候 出现404 错误。
只好然服务的进行处理解决跨域的问题
header('Access-Control-Allow-Origin:*');//允许所有来源访问
header('Access-Control-Allow-Method:POST,GET');//允许访问的方式
此随笔乃本人学习工作记录,如有疑问欢迎在下面评论,转载请标明出处。
如果对您有帮助请动动鼠标右下方给我来个赞,您的支持是我最大的动力。
|