SPA專案開發之登入

2021-09-26 01:29:19 字數 4364 閱讀 4508

然後我們開啟dos命令建立以下

npm install axios -s

npm install qs -s

npm install vue-axios -s

注意一條一條的輸入不要著急

在專案中src目錄下找到main.js,並在指定位置新增三行**(main.js是入口檔案,所以在這裡引入就行,頁面就不用引入了)

import vue from 『vue』

import elementui from 'element-ui' //新新增1

import router from './router'

vue.use(elementui) //新新增3

vue.config.productiontip = false

需要注意的問題

1、 ajax 跨域問題

2、 a xios 的 get/post 的區別( qs )

3、 簡化axios 使用的書寫

4、 t his 指標帶來的變數汙染,需要利用箭頭函式來解決;

post

get分別傳送方式

//部分為post傳送方式

dologin() ).then((response) => );

} else );

}}).catch((response) => );

demo

login.vue

提交使用者註冊

忘記密碼

reg

提交使用者登入

忘記密碼

})

特別注意config的index.js不要跟後台埠號一樣會出現錯誤

api需要用到的js

action.js

/**

* 模組名_實體名_操作

* vue專案對axios的全域性配置

*/import axios from 'axios'

import qs from 'qs'

//引入action模組,並新增至axios的類屬性urls上

import action from '@/api/action'

axios.urls = action

// axios預設配置

axios.defaults.timeout = 10000; // 超時時間

// axios.defaults.baseurl = 'http://localhost:8080/j2ee15'; // 預設位址

axios.defaults.baseurl = action.server;

//整理資料

// 只適用於 post,put,patch,transformrequest` 允許在向伺服器傳送前,修改請求資料

axios.defaults.transformrequest = function(data) ;

// 請求***

axios.interceptors.request.use(function(config) , function(error) );

// 響應***

axios.interceptors.response.use(function(response) );

// }

return response;

}, function(error) );

// // 路由請求攔截

// // 路由響應攔截

export default axios;

路由的index.js

import vue from 'vue'

import router from 'vue-router'

import helloworld from '@/components/helloworld'

import login from '@/views/login'

import reg from '@/views/reg'

vue.use(router)

export default new router(,

, ]})

axios跨域問題

會一直報錯:「' has been blocked by cors policy: no 'access-control-allow-origin' header」

因為使用了前後端分離開發,跨域訪問了,解決方案:需要配置tomcat允許跨域訪問,

tomcat跨域配置方法很多,但最簡單的方式是自己寫乙個過濾器corsfilter實現,新增乙個響應頭

access-control-allow-origin即可

httpresponse.addheader("access-control-allow-origin", "*");//*表示任何網域名稱

access-control-allow-origin:* #則允許所有網域名稱的指令碼訪問該資源。

access-control-allow-origin: #允許特定的網域名稱訪問

注2:axios.get提交沒有問題,axios.post提交後台接收不到資料

因為post提交的引數的格式是request payload,這樣後台取不到資料的

解決方案:使用qs.js庫,將轉換成'a=b&c=d'

注3:為簡化axios使用,還可以使用axios全域性配置及***,詳情見資料「api/http.js」

axios.defaults.baseurl = '';

'authorization'] = auth_token;//自定義請求頭,新增認證令牌

區別

qs

qs.js它是乙個url引數轉化的js庫。用法就兩個:

var obj = qs.parse('a=b&c=d'); //將url解析成物件的形式:

var str = qs.stringify(obj); //將物件 序列化成url的形式,以&進行拼接:a=b&c=d'

vue-axios

vue-axios是在axios基礎上擴充套件的外掛程式,在vue.prototype原型上擴充套件了$http等屬性,可以更加方便的使用axios
這就是前台需要用到的**以及四個問題的處理辦法

後台**可以看我的文章

後台**

總結:1.建立專案

2.載入

npm install axios -s

npm install qs -s

npm install vue-axios -s

並在main.js新增

SPA專案開發之登入

1.1 使用vue cli腳手架工具建立乙個vue專案 vue init webpack pro01 1.2 npm安裝elementui cd pro01 進入新建專案的根目錄 npm install element ui s 安裝element ui模組 重點 在指定位置 在指定位置 在指定位置...

SPA專案開發之登入註冊

npm install element ui s npm install axios s npm install qs s npm install vue axios s element ui 新增頁面效果,元件 axios axios是vue2提倡使用的輕量版的ajax。它是基於promise的h...

SPA專案開發之登入註冊

1 使用vue cli腳手架工具建立乙個vue專案 vue init webpack pro01 2 npm安裝elementui cd pro01 進入新建專案的根目錄 npm install element ui s 安裝element ui模組 重要的事情說三遍 在指定位置 在指定位置 在指定...