最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解vue+webpack+express中間件接口使用

 更新時間:2018年07月17日 09:26:07   作者:不愛貞子愛爽子  
這篇文章主要介紹了詳解vue+webpack+express中間件接口使用,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

環(huán)境:vue 2.9.3; webpack

目的:接口的調(diào)用

跨域方式:

1、express中間的使用

2、nginx代理

3、谷歌瀏覽器跨域設(shè)置

--------------------------------------------分割線---------------------------------------------

express中間件---不推薦

原理:本地代碼請求->express中間件(處理,添加headers后轉(zhuǎn)發(fā))->服務器

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");  // 中間件的客戶端 參數(shù)存放在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了,就可以調(diào)用這個接口了

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,需要修改中間件的配置文件,如果不用服務器中間件的調(diào)用的直接添加表頭即可。

1、當前項目的傳遞方式

本地代碼(pacs)----------->服務器中間件(web)------------>服務器

相當于多用了一層,中間層主要用來解決跨域等其他問題(卻顯得累贅)。

如上圖,傳遞的參數(shù)存放在req.body里面,傳遞的header存放在req.headers里面,我們請求接口后就把req傳遞到

ykt-http-client里面,目錄是在medical/node_modules/ykt-http-client/index.js里面
如果只是傳遞參數(shù)的話就沒有問題,因為原來的腳本里面默認是吧req.body傳遞過去的,但是卻沒有req.headers保存的參數(shù),所以需要修改下當前的index.js文件

這樣的話,如果請求里面發(fā)現(xiàn)了headers參數(shù)就會傳遞到服務器里面,才能達到目的。

nginx代理---不推薦

原理和中間大同小異,也是通過轉(zhuǎn)發(fā)的方式。

谷歌瀏覽器跨域---推薦

參考網(wǎng)址:http://m.fzitv.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;
 })
})

###由于使用了瀏覽器跨域設(shè)置,這里面不需要設(shè)置什么。

###使用的話直接在各個位置使用即可

var params=new Object(); // 定義的參數(shù)
  params.id = '1; // 設(shè)置id=1
 this.$http.post(this.ip + '/xhhms/rest/interRemoteReportController/v1/getKnowledge', params, {
  headers: {
  'X-AUTH-TOKEN': this.token // 定義的表頭 根據(jù)需要自行添加
  }
 }).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,使用過程中也是繞了很多圈子,難受。

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • vue+vite+diff.js使用小結(jié)

    vue+vite+diff.js使用小結(jié)

    本文主要介紹了vue+vite+diff.js使用小結(jié),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-12-12
  • vue.js路由跳轉(zhuǎn)詳解

    vue.js路由跳轉(zhuǎn)詳解

    這篇文章主要為大家詳細介紹了vue.js路由跳轉(zhuǎn)的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • vue登錄頁面設(shè)置驗證碼input框的方法

    vue登錄頁面設(shè)置驗證碼input框的方法

    這篇文章主要為大家詳細介紹了vue登錄頁面設(shè)置驗證碼input框的方法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • Vue Element使用icon圖標教程詳解(第三方)

    Vue Element使用icon圖標教程詳解(第三方)

    element-ui自帶的圖標庫不夠全,還是需要需要引入第三方icon。下面小編給大家?guī)砹薞ue Element使用icon圖標教程,感興趣的朋友一起看看吧
    2018-02-02
  • vue項目配置代理如何解決跨域問題

    vue項目配置代理如何解決跨域問題

    這篇文章主要介紹了vue項目配置代理如何解決跨域問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • 詳解vue-cli腳手架中webpack配置方法

    詳解vue-cli腳手架中webpack配置方法

    這篇文章主要介紹了詳解vue-cli腳手架中webpack配置方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-08-08
  • 如何利用Vue+Element做個小頁面

    如何利用Vue+Element做個小頁面

    vue使用element寫東西讓我感覺到了特別的方便,下面這篇文章主要給大家介紹了關(guān)于如何利用Vue+Element做個小頁面的相關(guān)資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-03-03
  • 淺談vuex的基本用法和mapaction傳值問題

    淺談vuex的基本用法和mapaction傳值問題

    今天小編就為大家分享一篇淺談vuex的基本用法和mapaction傳值問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • Vue.js實現(xiàn)音樂播放器

    Vue.js實現(xiàn)音樂播放器

    這篇文章主要為大家詳細介紹了Vue.js實現(xiàn)音樂播放器,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-06-06
  • QT和vue交互的實現(xiàn)示例

    QT和vue交互的實現(xiàn)示例

    本文主要介紹了QT和vue交互的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-07-07

最新評論

安溪县| 延吉市| 浑源县| 西宁市| 南雄市| 靖安县| 靖西县| 桂阳县| 莱西市| 汽车| 西宁市| 尼木县| 惠来县| 都兰县| 五华县| 新源县| 芜湖市| 湾仔区| 新民市| 洛阳市| 博湖县| 龙口市| 绵阳市| 剑河县| 古浪县| 岐山县| 龙陵县| 长顺县| 荆州市| 玛曲县| 东兰县| 东兴市| 铜梁县| 内江市| 环江| 平乐县| 达尔| 临武县| 邓州市| 涟源市| 独山县|