中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

vuejs如何請求后臺接口

發布時間:2021-11-02 15:04:20 來源:億速云 閱讀:629 作者:iii 欄目:編程語言

這篇文章主要介紹“vuejs如何請求后臺接口”,在日常操作中,相信很多人在vuejs如何請求后臺接口問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”vuejs如何請求后臺接口”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

vuejs請求后臺接口的方法:1、安裝axios并引入;2、使用get或post請求;3、安裝vue-resource并引入;4、使用vue-resource發送跨域請求。

vuejs如何請求后臺接口

本文操作環境:windows7系統、vue2.9.6版,DELL G3電腦。

vuejs怎么請求后臺接口?

vue請求后臺接口 方法:

ue不支持直接發送AJAX請求,需要使用vue-resource、axios等插件實現。

一.使用axios發送AJAX請求:

1.安裝axios并引入:

1)npm install axios -S (直接下載axios組件,下載完畢后axios.js就存放在node_modules\axios\dist中),首先在 main.js 中引入 axios:在此文件加入import axios from 'axios',如果在其它的組件中無法使用 axios 命令。可以將 axios 改寫為 Vue 的原型屬性:Vue.prototype.$http=axios,在 main.js 中添加了這兩行代碼之后,就能直接在組件的 methods 中使用 this.$http命令。

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

2.發送請求:

1)get請求使用格式:

a:axios([options]) (這種格式直接將所有數據寫在options里,options其實是個字典)

b:axios.get(url[,options]);

<script>     
    new Vue({
             el:'#itany',
             data:{
                user:{
                     name:'alice',
                     age:19
                    },
                },
                methods:{
                    send(){
                        axios({//格式a
                            method:'get',
                            url:'http://www.baidu.com?name=tom&age=23'
                        }).then(function(resp){
                            console.log(resp.data);
                        }).catch(resp => {
                            console.log('請求失敗:'+resp.status+','+resp.statusText);
                        });
                    },
                    sendGet(){//格式b
                        axios.get('server.php',{
                            params:{
                                name:'alice',
                                age:19
                            }
                        })
                        .then(resp => {
                            console.log(resp.data);
                        }).catch(err => {             //
                            console.log('請求失敗:'+err.status+','+err.statusText);
                        });
                    },
                }
            });
    </script>

2)post請求格式:

a:axios.post(url,data,[options]);

new Vue({
                el:'#itany',
                data:{
                    user:{
                        name:'alice',
                        age:19
                    },
                },
                methods:{
                    sendPost(){
                        // axios.post('server.php',{
                        //         name:'alice',
                        //         age:19
                        // }) //該方式發送數據是一個Request Payload的數據格式,一般的數據格式是Form Data格式,所有發送不出去數據
                        // axios.post('server.php','name=alice&age=20&') //方式1通過字符串的方式發送數據
                        axios.post('server.php',this.user,{  //方式2通過transformRequest方法發送數據,本質還是將數據拼接成字符串
                            transformRequest:[
                                function(data){
                                    let params='';
                                    for(let index in data){
                                        params+=index+'='+data[index]+'&';
                                    }
                                    return params;
                                }
                            ]
                        })
                        .then(resp => {
                            console.log(resp.data);
                        }).catch(err => {
                            console.log('請求失敗:'+err.status+','+err.statusText);
                        });
                    },
                }
            });

3)發送跨域請求:

a:須知:axios本身并不支持發送跨域的請求,沒有提供相應的API,作者也暫沒計劃在axios添加支持發送跨域請求,所以只能使用第三方庫

b:使用vue-resource發送跨域請求

c: 安裝vue-resource并引入

   npm info vue-resource           #查看vue-resource 版本信息
      cnpm install vue-resource -S #等同于cnpm install vue-resource -save

d: 基本使用方法(使用this.$http發送請求)

   this.$http.get(url, [options])
    this.$http.head(url, [options])
    this.$http.delete(url, [options])
    this.$http.jsonp(url, [options])
    this.$http.post(url, [body], [options])
    this.$http.put(url, [body], [options])
    this.$http.patch(url, [body], [options])

二.vue-resource發送請求:

1.安裝引入vue-resource方式:

1)npm install axios -S (直接下載axios組件,下載完畢后axios.js就存放在node_modules\axios\dist中),通過改路由的index.js引入:在index.js加入import VueResource from 'vue-resource'和Vue.use(VueResource)即可

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

2.post請求方式:

1)  this.$http({ method:'POST',  
                        url:'/a/b', //接口路徑 data:{'a':'123124'}, //參數 
                        headers: {"X-Requested-With": "XMLHttpRequest"}, 
                        }).then((res) => { if(res.body.code == "0") {
                        this.data= res.body.result;
                    } else {
                        this.warnMessage = "獲取班級失敗";
                        this.colorMessage = "red"
                    }
                }).catch(err => {
                    this.warnMessage = "訪問接口失敗";
                    this.colorMessage = "red"
                })
2)this.$http.post('../a/b/c', {}, {
                    header: {},
                    emulateJSON: true
                }).then((res) => {
                    if(res.body.code == "0") {
                        this.data= res.body.result;
                    } else {
                        this.warnMessage = "獲取班級失敗";
                        this.colorMessage = "red"
                    }
                }).catch(err => {
                    this.warnMessage = "訪問接口失敗";
                    this.colorMessage = "red"
                })

2.get請求方式同post,直接將上面的post改為get即可

到此,關于“vuejs如何請求后臺接口”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

渝中区| 东乡县| 白山市| 乳山市| 阜新市| 沧州市| 越西县| 东乡县| 巫溪县| 武义县| 佛坪县| 鄢陵县| 冀州市| 雅江县| 乌鲁木齐县| 阿克苏市| 南昌市| 贵定县| 昌都县| 开化县| 当阳市| 广汉市| 甘谷县| 瓦房店市| 广丰县| 四平市| 桦甸市| 台北市| 无锡市| 元朗区| 禄丰县| 汕尾市| 兴和县| 微博| 大渡口区| 江陵县| 浦东新区| 左云县| 达拉特旗| 通江县| 阳东县|