站長資訊網
        最全最豐富的資訊網站

        vue支持ajax嗎

        vue本身是不支持ajax請求的,但是可以利用“vue-resource”、axios等插件實現vue發送ajax請求;axios是一個基于Promise的HTTP請求客戶端,用于發送請求,“vue-resource”是一個插件用于提供使用XMLHttpRequest或JSONP進行Web請求和處理響應的服務。

        vue支持ajax嗎

        本教程操作環境:windows10系統、Vue3版、Dell G3電腦。

        vue支持ajax嗎

        vue本身不支持發送AJAX請求,需要使用vue-resource(vue1.0版本)、axios(vue2.0版本)等插件實現

        axios是一個基于Promise的HTTP請求客戶端,用來發送請求,也是vue2.0官方推薦的,同時不再對vue-resource進行更新和維護

        vue-resource是Vue.js的插件提供了使用XMLHttpRequest或JSONP進行Web請求和處理響應的服務。

        當vue更新到2.0之后,作者就宣告不再對vue-resource更新,而是推薦的axios,在這里大家了解一下vue-resource就可以。

        vue使用axios發送AJAX請求:

        首頁安裝并引入axios

        npm install axios -S

        或者網上直接下載axios.min.js文件通過script src的方式進行文件的引入

        <script src="js/axios.min.js"></script>
        import axios from 'axios' import VueAxios from 'vue-axios' Vue.use(VueAxios,axios); Vue.prototype.$axios = axios;

        *get請求

        1、基本使用格式

        格式1:axios([options]) #這種格式直接將所有數據寫在options里

        格式2:axios.get(url[,options])

        2、傳參方式:

        通過url傳參

        通過params選項傳參

        代碼片段:

        <p class="lgD">     <input type="text" placeholder="輸入用戶名"   v-model="loginForm.loginName"/> </p> <p class="lgD">     <input type="password" placeholder="輸入用戶密碼" v-model="loginForm.passWord"/> </p> <a class="register" @click="gotoRegister()">注冊賬號</a> <p class="logC">     <button @click="doLogin" type="button">立即登錄</button> </p>
        <script>   export default {     data:function(){       return{         none: false,         loginForm: {           loginName: '',           passWord: ''         }       }     },     methods: {       gotoRegister:function(){         this.$router.push({           name:'register'         });       },       doLogin(){ //接口  this.$axios.get(接口地址).then(function(respon){}).catch(function(error){})         let _this = this;         if (this.loginForm.loginName === '' || this.loginForm.passWord === '') {           alert('賬號或密碼不能為空');         } else {           this.$axios.get("/WebUserLogin",{             params:_this.loginForm           }).then(res=>{             var result = JSON.parse(res.data);             // console.log(result);             if (result.state == 'ok') {                // console.log('登陸成功');                window.sessionStorage.setItem('token', result.token) //存入token                _this.$router.push('/index');             }else{               alert('登錄失敗請檢查用戶名和密碼是否正確');             }           }).catch(error => {             alert('賬號或密碼錯誤');             // console.log(error);           });          }        }     }   } </script>

        *post請求 (push,delete的非get方式的請求都一樣)

        格式:axios.post(url,data,[options]) 或者 axios([options])

        <script>   import qs from 'qs'   export default {     data:function(){       return{         none: false,         registerForm: {           LoginName: '',           LoginPassword: ''         }       }     },     methods: {         register(){           let _this = this;           if (this.registerForm.LoginName === '' || this.registerForm.LoginPassword === '') {             alert('注冊信息不能空');           } else {             this.$axios({                url:"/WebUserRegist",               method:"post",               data:qs.stringify(_this.registerForm)             }).then(res=>{               var result = JSON.parse(res.data);               // console.log(result);               if (result.state == 'ok') {                  alert('注冊成功去登錄');                  _this.$router.push('/');               }else{                 alert('注冊失敗請檢查注冊信息是否正確');               }             }).catch(error => {               alert('注冊信息有誤');               // console.log(error);             });            }         }     }   } </script>

        index.js全局守衛

        router.beforeEach((to,form,next) =>{       //如果進入到的路由是登錄頁或者注冊頁面,則正常展示       if (to.path === '/login') {           next();         } else {           let token = window.sessionStorage.getItem('token');           // console.log(token)           if (token === null || token === '') {             next('/login');             // alert("還沒有登錄,請先登錄!");           } else {             next();           }         }       // console.log(to)   })

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 三上悠亚久久精品| 国产亚洲精品xxx| 国产第一福利精品导航| 亚洲电影日韩精品| 国产高清在线精品一区二区| 精品性影院一区二区三区内射| 国产一区二区精品尤物| laowang在线精品视频| 日韩av无码久久精品免费| 精品国产婷婷久久久| 老司机99精品99| 97久久久久人妻精品专区| 亚洲av成人无码久久精品| 欧美精品亚洲人成在线观看| 国产精品九九久久免费视频 | 久久久久九国产精品| 久久成人国产精品二三区| 久久精品国产亚洲av水果派| 亚洲国产精品一区二区九九 | 日韩一级精品视频在线观看| 国产精品视频一区二区三区无码| 中文字幕精品一区二区三区视频| 精品人妻少妇一区二区三区不卡 | 国产精品.XX视频.XXTV| 国产香蕉精品视频在| 国产精品国产三级专区第1集| 国产成人无码精品一区二区三区| 亚洲精品无码av人在线观看| 亚洲精品国产高清不卡在线| 女人高潮内射99精品| 欧美国产精品久久高清| 精品无码综合一区| 欧美精品高清在线xxxx| 久久久久成人精品无码| 久久精品无码一区二区三区免费 | 一夲道无码人妻精品一区二区| 亚洲欧洲自拍拍偷精品 美利坚| 亚洲精品欧美二区三区中文字幕 | 国产精品亚洲综合一区| 九九线精品视频在线观看| 日本加勒比久久精品|