Vue resource get 跨域请求的加头问题

e_zhiwen 2019-06-09 05:48:39
已通过 postman 连接成功并取得了相关数据了,如下图:

但是在Vue中也加了相关代码如下:

export default {
data(){
return{
cyclePic:[],
rootUrl:this.$http.options.root,
header:{headers:{Accept:'application/vnd.api+json',
'Content-type':'application/vnd.api+json',
Authorization:"**********************************"}}
}
},
created(){
this.getCycleList()
},
methods:{
getCycleList(){

this.$http.get('banner?include=field_image',this.header).then(result=>{
console.log(result)

if(result.ok && result.status===200){
this.cyclePic=result.body.included
console.log(this.cyclePic)
}else{
Toast('获取列表失败')
}

})
}

得到了一个不成功的response

Response {url: "https://******/banner?include=field_image", ok: false, status: 0, statusText: "", headers: Headers, …}

请教下,我这个header 要如何加,才是正确的方法?
...全文
423 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
e_zhiwen 2019-06-11
  • 打赏
  • 举报
回复
引用 5 楼 xzxwsk 的回复:
开发是用了Webpack它直接生成了一台Web服务器,这个服务是本地node服务,需要配置config/index.js dev: { // Paths assetsSubDirectory: 'static', assetsPublicPath: '/', // 这里配置接口服务器地址作为反向代理 proxyTable: { '/apis': { target: 'http://接口服务器地址', secure: false, // 接受 运行在 https 上的服务 changeOrigin: true, pathRewrite: { '^/apis': '' } } }, // ... } 调用时需要在地址接口地址上加上/apis const axiosInstance = axios.create({ baseURL: '/apis', headers: { 'Content-Type': '' // ... } })
我在webpack.config.js中加入了以下一段: devServer:{ proxy:{ '/jsonapi':{ target:'https://www.*****online', pathRewrite:{'^/jsonapi':'/'}, changeOrigin:true, secure:false } } }
e_zhiwen 2019-06-11
  • 打赏
  • 举报
回复
Vue.http.interceptors.push((request,next)=>{ request.header.set('Accept','application/vnd.api+json') request.header.set('Content-type','application/vnd.api+json') request.header.set('Authorization','Basic**********************') netxt((response)=>{ return response }) }) 在Main中加入Header,但这个set的func,未定义,不明所以呀。
cn00439805 2019-06-10
  • 打赏
  • 举报
回复
服务器对服务器,没有跨域限制
e_zhiwen 2019-06-10
  • 打赏
  • 举报
回复
有个概念,其它Postman这个调用应当说它没有跨域是直接请求了服务器页面,服务器返回了页面的值,跟浏览器直接浏览页面一样的得到了结果。但是开发是用了Webpack它直接生成了一台Web服务器,就成了跨域访问了。
e_zhiwen 2019-06-10
  • 打赏
  • 举报
回复
谢谢,现在用的框架Drupal对跨域访问做了限制,不让用了。我去看下你说的中间件,本地设置一台服务器相同环境,用Webpack开发的页面也跨域了。
cn00439805 2019-06-10
  • 打赏
  • 举报
回复
postman不在浏览器里当然能跨域 本地html并没有跨域能力 你在开发的时候可以使用webpack中间件http-proxy-middleware,也可以用nginx做反向代理 上线后可以和api在同一个域,异域也可以让服务器返回跨域头部,还可以让服务器也做nginx反向代理
xzxwsk 2019-06-10
  • 打赏
  • 举报
回复
开发是用了Webpack它直接生成了一台Web服务器,这个服务是本地node服务,需要配置config/index.js
dev: {
// Paths
assetsSubDirectory: 'static',
assetsPublicPath: '/',
// 这里配置接口服务器地址作为反向代理
proxyTable: {
'/apis': {
target: 'http://接口服务器地址',
secure: false, // 接受 运行在 https 上的服务
changeOrigin: true,
pathRewrite: {
'^/apis': ''
}
}
},
// ...
}

调用时需要在地址接口地址上加上/apis
const axiosInstance = axios.create({
baseURL: '/apis',
headers: {
'Content-Type': ''
// ...
}
})
内容概要:本文针对无刷直流电机驱动的电子机械制动(EMB)执行器,建立了考虑Stribeck摩擦特性的非线性耦合动力学模型,并在Simulink环境中完成了系统级仿真分析。研究综合集成了电机动力学、齿轮传动机构与制动执行机构的动力学特性,构建了高保真的机电一体化系统模型。重点引入Stribeck摩擦模型以精确描述低速工况下执行器内部存在的静摩擦、粘滞摩擦与库仑摩擦之间的过渡行为,有效提升了系统在启停、反向运动等瞬态过程中的动态响应仿真精度。通过多工况仿真验证了模型的有效性,能够准确反映摩擦引起的爬行、滞后与定位误差等非线性现象,为EMB系统的高性能控制算法设计(如摩擦补偿、滑模控制)与结构优化提供了高可信度的仿真平台。; 适合人群:从事汽车电子制动系统、电机驱动控制、机电系统建模与仿真研究的研究生、科研人员及工程技术人员,需具备扎实的机械动力学、自动控制理论基础和MATLAB/Simulink仿真能力。; 使用场景及目标:①用于高精度电子机械制动系统的设计验证与性能预测;②为消除摩擦非线性影响的先进控制策略(如自适应控制、智能控制)提供精确的被控对象模型;③深入探究Stribeck摩擦等非线性因素对系统动态性能(如响应延迟、稳态误差)的作用机理; 阅读建议:读者应结合提供的Simulink模型文件,深入剖析Stribeck摩擦模块的数学实现与参数辨识方法,建议通过改变输入指令(如阶跃、正弦)和负载条件进行对比仿真,以直观理解非线性摩擦对系统动态特性的影响。

87,988

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧