1. 程式人生 > >vue專案之axios-header、請求攔截和響應攔截

vue專案之axios-header、請求攔截和響應攔截

vue專案中axios的統一配置:

專案目錄:
這裡寫圖片描述

api.js:

//設定所有請求的域名字首
const apiUrl = 'http://xxx.com';
export default{
    apiUrl
}

http.js

/**
 * ajax請求配置
 */
import axios from 'axios'
import apiURL from './api.js'
import Qs from 'qs'
import Vue from 'vue'

import cookie from '../../static/js/cookie.js'

var vue = new Vue;   // 例項化一個新的vue物件,用於繫結toast外掛
// axios預設配置 //axios.defaults.timeout = 5000; // 超時時間 axios.defaults.baseURL = apiURL.apiUrl; // 預設地址 //**整理資料格式** axios.defaults.transformRequest = function (data) { data = Qs.stringify(data); return data; }; // **路由請求攔截** // http request 攔截器 axios.interceptors.request.use( config => { //config.data = JSON.stringify(config.data);
config.headers['Content-Type'] = 'application/x-www-form-urlencoded;charset=UTF-8'; //判斷是否存在ticket,即判斷使用者是否登入,如果存在的話,則每個http header都加上ticket if (cookie.get("ticket")) { //使用者每次操作,都將cookie設定成2小時 cookie.set("ticket", cookie.get("ticket"),1/12) //每個http header都加上ticket **config.headers.ticket = cookie.get("ticket"
);** //每個http header都加上personnelid if(sessionStorage.loginStaffInfo){ config.headers.personnelid = sessionStorage.personnelid; } } return config; }, error => { return Promise.reject(error.response); }); // **路由響應攔截** // http response 攔截器 axios.interceptors.response.use( response => { if (response.data.resultCode=="404") { console.log("response.data.resultCode是404") // 返回 錯誤程式碼-1 清除ticket資訊並跳轉到登入頁面 // cookie.del("ticket") window.location.href='http://xxx.login.com' return }else{ return response; } }, error => { return Promise.reject(error.response) // 返回介面返回的錯誤資訊 }); export default axios;

main.js:

import axios from './httpConfig/http'
Vue.prototype.$http = axios

配置完成之後,就可以在元件中使用axios進行資料請求:
//get請求http://xxx.com/aaa
this.$http.get(“/aaa”,{
params:{

},

}).then((res)=>{

});
//post請求http://xxx.com/bbb
this.$http.post(“/bbb”,{

}).then((res)=>{

});

相關推薦

vue專案axios-header請求攔截響應攔截

vue專案中axios的統一配置: 專案目錄: api.js: //設定所有請求的域名字首 const apiUrl = 'http://xxx.com'; export default{

Vue專案中-axios設定預設請求地址請求

Vue專案中-axios設定預設請求地址和請求頭 1.匯入axios import axios from 'axios' 2.設定預設請求地址 axios.defaults.baseURL='你的請求地址' 3.為post請求設定預設請求頭 axios.defa

Vue專案Axios資料請求

擼了兩個月的專案程式碼,終於可以喘口氣,寫一下自己在Vue專案中所學習到的經驗了。 所有專案都避不開向後臺請求資料,而為了響應我們 尤大大 的倡導,我們專案決定使用 Axios 處理資料請求的問題。下面就是我學到的,貢獻大家,希望對你們有所幫助。 Axios

基於vue-cli的vue專案axios的使用6--配置axios

有時候需要寫很長的路徑,煩,所以可以將相同的操作寫在一起,如果需要修改,可以在axios請求的時候修改 比如baseURL:'https://www.baidu.com', 1.配置config/

Vue處理token以及請求攔截響應攔截,全域性守衛

token一種身份的驗證,在大多數網站中,登入的時候都會攜帶token,去訪問其他頁面,token就想當於一種令牌。可以判斷使用者是否登入狀態。本次頁面是通過Element-ui搭建的登入介面 當用戶登入的時候,向後端發起請求的時候,後端會返回給我一個token,前端可以進行校驗,進行處理token 當前

vue專案axios請求獲取資料

一般vue專案中 一個頁面是由多個元件組成的,各個組建的資料都是統一在主介面的元件中傳送axios請求獲取,這樣極大地提高了效能。 首先要匯入用到的元件和axios import HomeHeader from './components/Heade

vue筆記axios請求

一、先安裝axios依賴,還有qs依賴 npm install axios --save npm install qs --save qs依賴包用post請求需要用到的 插入一個知識點: npm install X --save 會把依賴包安裝在生產環境中,

vue專案axios請求網路介面封裝

每個專案網路請求介面封裝都是很重要的一塊,第一次做Vue專案,我們的封裝方法如下: (1).新建一個js檔案,取名api.js (2).引入 axios ,mint-UI ,如下圖: import axios from 'axios' import {MessageBox, Toast}

vue+axios+element-ui 實現ajax請求攔截路由攔截

原文連結 https://www.cnblogs.com/parkboyoung/p/6761863.html ajax攔截器: 結合element-ui中loading和message元件來處理的,我們可以單獨建立一個http的js檔案處理axios,再到main.js中引入,統一處理

vue專案使用axios傳送請求讓ajax請求頭部攜帶cookie

最近做vue專案時遇到登入許可權問題,登入以後再發送的請求頭部並沒有攜帶登入後設置的cookie,導致後臺無法校驗其是否登入。檢查發現是vue專案中使用axios傳送ajax請求導致的。檢視文件得知axios預設是不讓ajax請求頭部攜帶cookie的,因此,在main.js

vue專案axios的封裝

1.安裝 1 npm install axios --save 2.新建http.js,封裝攔截器以及多種請求方式 1 import axios from 'axios'; 2 import { Message } from 'element-ui'; 3 4

1.vue專案前後端分離(vue前端專案啟動報錯出現問題的解決)

1.首先安裝node.js環境,安裝完成之後,可在控制面板中,進行驗證,如下圖所示: 因為我自己已經裝了,所以就不需要去擔心這個問題了: "D:\IDEA_JAVA\IntelliJ IDEA 2018.2.4\bin\runnerw.exe" D:\node\node.exe D:\

vue專案微信分享

1. npm install weixin-js-sdk --save  2. mian.js 引入 import wx from 'weixin-js-sdk' Vue.prototype.wx = wx 3.wxapi.js 封裝的公共js import

vue-cli3.0 axios跨域請求代理配置及埠修改

1.安裝 axios vue add axios 2.專案根目錄下新建 vue.config.js // vue.config.js module.exports = { devServer:

vue專案webpack打包靜態資源路徑不準確

文章有點長,希望能夠閱讀下去,有所幫助。 問題 將打包好的專案部署到伺服器,發現報錯說圖片找不到。 靜態資源如js訪問不到 分析並且解決問題 明確一點的就是,看到報錯404,找不到靜態資源,很明顯,路徑錯誤了。  靜態資源找不到如js檔案 資源打包路徑有誤,

Django day32 跨域問題,建立vue專案axios的使用

一:跨域問題   1、同源策略(瀏覽器的安全策略)    只允許當前頁面朝當前域下發請求,如果向其他域發請求,請求可以正常傳送,資料也可以拿回,但是被瀏覽器攔截了  2、cors:只要伺服器實現了CORS,就可以實現跨域資源共享   (1)簡單請求    只發一次請求  (2)非簡單請求:    發兩次請求

vue專案解決鍵盤彈起問題

在用vue做移動端專案時,當有輸入框時,手機自帶的鍵盤會把原本定位在底部的內容頂起。可以通過watch document.body.clientHeight的變化進行顯示或隱藏定位在底部的內容。當document.body.clientHeight變小時,隱藏即可。 for example:

Kotlin開發Android專案靜態方法靜態變數使用示例

Kotlin開發Android專案之靜態方法、靜態變數使用示例 1.Kotlin定義一個都是靜態方法的類   Kotlin定義一個都是靜態方法的類,比如專案中比較常見的工具類,只需要將類class換為object即可,下面是Java寫法和Kotlin寫法的對比: Java寫法:

構建Android專案RxAndroid+Retrofit網路請求

注意 Retrofit 2.0+和Retrofit 2.0之前的版本語法上有差別,本文基於Retrofit2.1.0 什麼是Retrofit? retrofit是一款針對Android網路請求的開源框架,它與okhttp一樣出自Square公司。Rotrofit2.0的

vue專案動態改變url引數

let query = this.$router.history.current.query; let path = this.$router.history.current.path; //物件的拷貝 let newQuery = JSON.pars