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