Vue axios

vue

Test9.vue

<template>

<div id="test9_body">

<div id="header"><h1>上标题</h1></div>

<div id="body">

<div id="navl">

左导航

<div>

Test9

<div>

<button @click="getReq()">发起get请求</button>

<button @click="postReq()">发起post请求</button>

<button @click="allReq()">发起并发请求</button>

</div>

</div>

</div>

<div id="main">

中内容

<router-view></router-view>

</div>

<div id="navr">右导航</div>

</div>

<div id="footer"><p>下版权</p></div>

</div>

</template>

<script>

import axios from 'axios';

export default {

name: 'Test9',

setup(){

axios.defaults.baseURL='http://localhost:8088/hbl';

axios.defaults.timeout=5000;

// axios.defaults.post['Content-Type']='application/x-www-form-urlencoded';

axios.interceptors.request.use((config)=>{

config.abc="aaa";

console.log(config);

return config;

},(error)=>{

return Promise.error(error);

})

const getReq = ()=>{

// console.log("===getReq==");

// axios.get('http://localhost:8088/hbl/location/getAllErpProvinces').then((res)=>{

// console.log(res.data);

// }).catch((error)=>{

// console.log(error);

// })

// axios({

// method: 'get',

// url:'http://localhost:8088/hbl/location/getAllErpProvinces'

// }).then((res)=>{

// console.log(res.data);

// }).catch((error)=>{

// console.log(error);

// })

// axios.get('http://localhost:8088/hbl/location/getErpCitiesByProvinceCode2',{

// params:{

// code:360000

// }

// }).then((res)=>{

// console.log(res.data);

// }).catch((error)=>{

// console.log(error);

// })

axios({

method: 'get',

params:{

code:360000

},

url:'http://localhost:8088/hbl/location/getErpCitiesByProvinceCode2'

}).then((res)=>{

console.log(res.data);

}).catch((error)=>{

console.log(error);

})

}

const postReq = ()=>{

// axios.post('http://localhost:8088/hbl/location/getErpCitiesByProvinceCode3',{

// // code:110000

// },{

// params:{

// code:360000

// }

// }).then((res)=>{

// console.log(res.data);

// }).catch((error)=>{

// console.log(error);

// })

axios({

method: 'post',

params:{

code:360000

},

data:{

// code:110000

},

url:'http://localhost:8088/hbl/location/getErpCitiesByProvinceCode3'

}).then((res)=>{

console.log(res.data);

}).catch((error)=>{

console.log(error);

})

}

//并发请求

const allReq = ()=>{

// axios.all([

// axios({

// method: 'get',

// params:{

// code:110000

// },

// url:'http://localhost:8088/hbl/location/getErpCitiesByProvinceCode2'

// }),

// axios({

// method: 'post',

// params:{

// code:360000

// },

// data:{

// // code:110000

// },

// url:'http://localhost:8088/hbl/location/getErpCitiesByProvinceCode3'

// })

// ]).then((res)=>{

// console.log(res[0].data);

// console.log(res[1].data);

// }).catch((error)=>{

// console.log(error);

// })

axios.all([

axios({

method: 'get',

params:{

code:110000

},

url:'/location/getErpCitiesByProvinceCode2',

// baseURL:'http://localhost:8088/hbl',

timeout:3000,

responseType:'json',//stream

}),

axios({

method: 'post',

params:{

code:360000

},

data:{

// code:110000

},

url:'/location/getErpCitiesByProvinceCode3',

// baseURL:'http://localhost:8088/hbl',

})

]).then(axios.spread((res1,res2)=>{

console.log(res1);

console.log(res2);

})).catch((error)=>{

console.log(error);

})

}

return{

getReq,

postReq,

allReq

}

}

}

</script>

<!-- Add "scoped" attribute to limit CSS to this component only -->

<style scoped>

/* CSS Document */

/**{*/

/* margin:0;*/

/* padding:0;*/

/*}*/

/*body{*/

/* margin:10px;*/

/*}*/

#test9_body{

margin:0;

padding:0;

/*margin:10px;*/

/*width:600px;*/

/*height: 100%;*/

/*margin:0 auto;*/

/*height:400px;*/

height:auto;

min-height:500px;

/*width:800px;*/

background:#bbeeeb;

margin:0 auto;

}

#header{

border:1px solid black;

/*width:600px;*/

height:60px;

margin:0 auto;

margin-bottom:10px;

}

#header h1{

height:60px;

line-height:60px;

font-size:16px;

text-align:center;

}

#body{

/*width:600px;*/

margin:0 auto;

}

#navl{

border:1px solid black;

width:150px;

height:auto;

float:left;

margin-bottom:10px;

background:lightcyan;

overflow: auto;

}

#main{

border:1px solid black;

/*width:294px;!*边框也算一个像素*!*/

width: auto;

min-width: 300px;

height:auto;

float:left;

margin-bottom:10px;

background:lightblue;

}

#navr{

border:1px solid black;

/*width:150px;*/

/*height:500px;*/

float:right;

margin-bottom:10px;

background:lightyellow;

}

#footer{

border:1px solid black;

/*width:600px;*/

height:60px;

line-height:60px;

margin:0 auto;

text-align:center;

clear:both;

}

</style>

以上是 Vue axios 的全部内容, 来源链接: utcz.com/z/377199.html

回到顶部