环境:vue 2.9.3; webpack
目的:接口的调用
跨域方式:
1、express中间的使用
2、nginx代理
3、谷歌浏览器跨域设置
--------------------------------------------分割线---------------------------------------------
express中间件---不推荐
原理:本地代码请求->express中间件(处理,添加headers后转发)->服务器
express中间件 medical
本地代码文件目录 pacs
#########配置接口
在服务器中间件配置 medical/routes/home.js 没有需要新建home.js // 哪个文件使用就可以名字命名 这里就是home页面的接口
home.js
var express = require('express'); var router = express.Router(); var http = require("ykt-http-client"); // 中间件的客户端 参数存放在req.bdoy里面 /* GET users listing. */ var comm = require('../public/js/constant'); // 这里面是定义服务器的地址 var ip = comm.IP; const IP = comm.IP; router.get('/', function (req, res, next) { res.send('respond with a resource'); }); // 获取频道 router.post('/aa', function (req, res) { http.post(ip + 'aaaa', req.body).then((data) => { //console.log(JSON.stringify(data)) res.send(data); }) }); // 主页 这就是要用到的接口 router.post('/main', function (req, res) { http.post(IP+'/xhhms/rest/interfacesLoginController/getMenu', req.body ,req.headers).then((data) => { console.log(IP+'/xhhms/rest/interfacesLoginController/getMenu'); res.send(data); }) });
上面的需要定义constant.js的ip
类似这样定义即可。
#########服务器中间的app.js里面引用
添加var home = require('./routes/home');
然后使用 app.use('/home', home);
######这样就ok了,就可以调用这个接口了
createded() { this.getMune(); }, methods:{ getMune () { var params=new Object(); axios.post(this.ip + '/home/main', params, { headers: { 'X-AUTH-TOKEN': this.token // 这里用到了登录用的token ,还需要在下面配置 } }).then((res) => { var data = res.data; if (!!data) { console.log(data); localStorage.setItem('nume', JSON.stringify(data.data[0].children)); } else { return false; } }, (err) => { console.log(err); }) } }
##### 因为上面用到了header里面的X-AUTH-TOKEN,需要修改中间件的配置文件,如果不用服务器中间件的调用的直接添加表头即可。
1、当前项目的传递方式
本地代码(pacs)----------->服务器中间件(web)------------>服务器
相当于多用了一层,中间层主要用来解决跨域等其他问题(却显得累赘)。
如上图,传递的参数存放在req.body里面,传递的header存放在req.headers里面,我们请求接口后就把req传递到
ykt-http-client里面,目录是在medical/node_modules/ykt-http-client/index.js里面
如果只是传递参数的话就没有问题,因为原来的脚本里面默认是吧req.body传递过去的,但是却没有req.headers保存的参数,所以需要修改下当前的index.js文件
这样的话,如果请求里面发现了headers参数就会传递到服务器里面,才能达到目的。
nginx代理---不推荐
原理和中间大同小异,也是通过转发的方式。
谷歌浏览器跨域---推荐
参考网址:https://www.jb51.net/softjc/625598.html 进行跨域后
直接通过vue-resource进行请求即可。
首先安装vue-resource
cnpm install vue-resource --save
然后在src/main.js里面引入
import VueResource from 'vue-resource'; Vue.use(VueResource); Vue.http.interceptors.push((request, next) => { request.headers.set('X-AUTH-TOKEN', localStorage.getItem("token")) // request.headers.set('Access-Control-Allow-Origin', '*'); // request.headers.set('Access-Control-Allow-Headers', 'Content-Type'); // request.headers.set('Access-Control-Allow-Methods', 'PUT, POST, GET, DELETE, OPTIONS'); request.headers.set('Content-Type', 'application/json') //console.log(request.headers) next(response => { // console.log(response) return response; }) })
###由于使用了浏览器跨域设置,这里面不需要设置什么。
###使用的话直接在各个位置使用即可
var params=new Object(); // 定义的参数 params.id = '1; // 设置id=1 this.$http.post(this.ip + '/xhhms/rest/interRemoteReportController/v1/getKnowledge', params, { headers: { 'X-AUTH-TOKEN': this.token // 定义的表头 根据需要自行添加 } }).then((res) => { var data = JSON.parse(res.data); if (!!data&&data.status=="1") { // $.fn.zTree.init($("#shuyuSelect"), this.shuyusetting, data.data); } else { return false; } }, (err) => { console.log(err); });
----由于刚刚接触vue,使用过程中也是绕了很多圈子,难受。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。
更新日志
- 魔兽世界wlk敏锐贼一键输出宏是什么 wlk敏锐贼一键输出宏介绍
- 李逸朗2007-李威乐[英皇娱乐][WAV+CUE]
- DavidVersace-EyetoEye(2024)[24-44,1]
- SimoneLamsma,RobertKulek-Mendelssohn,Janacek,Schumann-SonatasforViolinandPiano【SAC
- 《街头篮球》大动作:新增五大服务器节点 优化玩家体验
- 任天堂宣布推出音乐APP!仅面向NSO订阅用户
- 《马路RPG:兄弟齐航》新预告!兄弟携手海岛冒险
- 王子鸣.2009-永远【九洲】【WAV分轨】
- 杭天琪.2002-水与火的缠绵【泰达】【WAV+CUE】
- 邱锋泽.2024-COlOR.Free【发现梦想】【FLAC分轨】
- 群星 《10年朋友Vol.8》滚石台湾版[WAV+CUE][1.G]
- 群星《2024好听新歌31》十倍音质 U盘音乐 [WAV分轨][1.1G]
- 群星《全天后》华纳[WAV+CUE][1.1G]
- 许乐《声愿HQCD》[正版原抓WAV+CUE]
- 黄凯芹《给你留念》头版限量编号MQA-UHQCD2024[低速原抓WAV+CUE]