{"id":276,"date":"2021-07-16T16:37:54","date_gmt":"2021-07-16T08:37:54","guid":{"rendered":"http:\/\/gjweb.top\/?p=276"},"modified":"2021-07-16T16:37:57","modified_gmt":"2021-07-16T08:37:57","slug":"axios%e7%9a%84%e4%ba%8c%e6%ac%a1%e5%b0%81%e8%a3%85%e5%8f%8a%e6%8e%a5%e5%8f%a3%e7%ae%a1%e7%90%86","status":"publish","type":"post","link":"https:\/\/gjweb.top\/?p=276","title":{"rendered":"axios\u7684\u4e8c\u6b21\u5c01\u88c5\u53ca\u63a5\u53e3\u7ba1\u7406"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">\u5b89\u88c5<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>npm install axios qs<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\u5c01\u88c5 axios<\/h2>\n\n\n\n<p>\u521b\u5efa axios.js \u6587\u4ef6 \u5bf9 axios\u8fdb\u884c\u5c01\u88c5<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>import axios from \"axios\"<br>\u200b<br>\/\/ \u6839\u636e\u73af\u5883\u53d8\u91cf\u533a\u5206\u63a5\u53e3\u7684\u9ed8\u8ba4\u5730\u5740<br>switch (process.env.NODE_ENV) {<br> &nbsp;case \"development\":<br> &nbsp; &nbsp;axios.defaults.baseURL = \"\u5f00\u53d1\u73af\u5883\u7684\u5730\u5740\";<br> &nbsp; &nbsp;break<br> &nbsp;case \"production\":<br> &nbsp; &nbsp;axios.defaults.baseURL = \"\u751f\u4ea7\u73af\u5883\u7684\u5730\u5740\";<br> &nbsp; &nbsp;break<br>}<br>\u200b<br>\/\/ \u8bbe\u7f6e\u8d85\u5e02\u65f6\u95f4\u548c\u8de8\u57df\u662f\u5141\u8bb8\u643a\u5e26\u51ed\u8bc1<br>axios.defaults.timeout = 50000;<br>axios.defaults.withCredentials = true;<br>\u200b<br>\/\/ \u8bbe\u7f6e\u8bf7\u6c42\u62e6\u622a\u5668<br>axios.interceptors.request.use((config)=&gt;{<br> &nbsp;return config<br>},(error)=&gt;{<br> &nbsp;return Promise.reject(error)<br>})<br>\u200b<br>\/\/ \u8bbe\u7f6e\u54cd\u5e94\u62e6\u622a\u5668<br>axios.interceptors.response.use((response)=&gt;{<br> &nbsp;return &nbsp;response.data<br>},(error)=&gt;{<br> &nbsp;if(error.response){<br> &nbsp; &nbsp;switch(error.response.status){<br> &nbsp; &nbsp; &nbsp;case 401:<br> &nbsp; &nbsp; &nbsp; &nbsp;alert(\"\u6ca1\u6709\u6743\u9650\")<br> &nbsp; &nbsp; &nbsp; &nbsp;break<br> &nbsp; &nbsp; &nbsp;case 403:<br> &nbsp; &nbsp; &nbsp; &nbsp;alert(\"\u670d\u52a1\u5668\u62d2\u7edd\u6267\u884c\")<br> &nbsp; &nbsp; &nbsp; &nbsp;break<br> &nbsp; &nbsp; &nbsp;case 404:<br> &nbsp; &nbsp; &nbsp; &nbsp;alert(\"\u627e\u4e0d\u5230\u9875\u9762\")<br> &nbsp; &nbsp; &nbsp; &nbsp;break &nbsp; <br> &nbsp;  }<br>  }else{<br> &nbsp; &nbsp;\/\/ \u670d\u52a1\u5668\u8fde\u63a5\u7ed3\u679c\u6ca1\u6709\u8fd4\u56de<br> &nbsp; &nbsp;if(!window.navigator.onLine){<br> &nbsp; &nbsp; &nbsp;alert(\"\u65ad\u7f51\u5904\u7406,\u53ef\u4ee5\u8df3\u8f6c\u5230\u65ad\u7f51\u9875\u9762\")<br> &nbsp; &nbsp; &nbsp;return<br> &nbsp;  }<br> &nbsp; &nbsp;return Promise.reject(error)<br>  }<br>})<br>export default axios;<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\u5c01\u88c5\u8bf7\u6c42\u65b9\u5f0f<\/h2>\n\n\n\n<p>\u521b\u5efa http.js \u6587\u4ef6 \u5c01\u88c5\u5404\u79cd\u8bf7\u6c42\u7684\u65b9\u5f0f\u53ca\u6570\u636e\u683c\u5f0f<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>import axios from \".\/axios\"<br>import qs from \"qs\"<br>\u200b<br>export function post(url, data, error) {<br> &nbsp;return new Promise((resolve, reject) =&gt; {<br> &nbsp; &nbsp;axios({<br> &nbsp; &nbsp; &nbsp;method: \"post\",<br> &nbsp; &nbsp; &nbsp;url: url,<br> &nbsp; &nbsp; &nbsp;params:data,<br> &nbsp;  }).then((response)=&gt;{<br> &nbsp; &nbsp; &nbsp;resolve(response)<br> &nbsp;  },(err)=&gt;{<br> &nbsp; &nbsp; &nbsp;err = error?error:err;<br> &nbsp; &nbsp; &nbsp;alert(err)<br> &nbsp;  })<br>  })<br>}<br>\u200b<br>export function get(url,data,error){<br> &nbsp;return new Promise((resolve,reject)=&gt;{<br> &nbsp; &nbsp;axios({<br> &nbsp; &nbsp; &nbsp;methods:\"get\",<br> &nbsp; &nbsp; &nbsp;url:url,<br> &nbsp; &nbsp; &nbsp;params:data,<br> &nbsp;  }).then((response)=&gt;{<br> &nbsp; &nbsp; &nbsp;resolve(response)<br> &nbsp;  },(err)=&gt;{<br> &nbsp; &nbsp; &nbsp;err = error?error:err<br> &nbsp; &nbsp; &nbsp;alert(err)<br> &nbsp;  })<br>  })<br>}<br>\u200b<br>export function FormDataPost(url,data,error){<br> &nbsp;return new Promise((resolve,reject)=&gt;{<br> &nbsp; &nbsp;axios({<br> &nbsp; &nbsp; &nbsp;method:\"post\",<br> &nbsp; &nbsp; &nbsp;url:url,<br> &nbsp; &nbsp; &nbsp;data:data,<br> &nbsp; &nbsp; &nbsp;headers:{\"Content-Type\":\"application\/x-www-from-urlencoded\"},<br> &nbsp; &nbsp; &nbsp;transformRequest:(data)=&gt;{<br> &nbsp; &nbsp; &nbsp; &nbsp;qs.stringify(data)<br> &nbsp; &nbsp;  }<br> &nbsp;  }).then((response)=&gt;{<br> &nbsp; &nbsp; &nbsp;resolve(response)<br> &nbsp;  },(err)=&gt;{ <br> &nbsp; &nbsp; &nbsp;err = error?error:err<br> &nbsp; &nbsp; &nbsp;alert(err)<br> &nbsp;  })<br>  })<br>}<br>\u200b<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\u5efa\u7acb\u7edf\u4e00\u7684\u8bf7\u6c42\u5165\u53e3<\/h2>\n\n\n\n<p>\u521b\u5efa api.js \u6587\u4ef6,\u5efa\u7acb\u7edf\u4e00\u7684\u8bf7\u6c42\u5165\u53e3<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/ \u7edf\u4e00\u6570\u636e\u8bf7\u6c42\u5165\u53e3<br>import vote from \".\/vote\"<br>import xxx from \".\/xxx\"<br>export default {<br> &nbsp;vote,<br> &nbsp;xxx<br>}<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\u6309\u9700\u62c6\u5206\u63a5\u53e3\u6587\u4ef6<\/h2>\n\n\n\n<p>\u521b\u5efa vote.js (\u6587\u4ef6\u540d\u79f0\u53ef\u4ee5\u6839\u636e\u4e1a\u52a1\u8fdb\u884c\u5206\u7c7b\u548c\u547d\u540d)<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>import {post,get,FormDataPost} from \".\/http\"<br>function &nbsp;login(){<br> &nbsp;return post('\/login',{name:'admin',pwd:\"admin\"})<br>}<br>\u200b<br>function logout(){<br> &nbsp;return get(\"\/logout\",)<br>}<br>\u200b<br>export default {<br> &nbsp;login,<br> &nbsp;logout<br>}<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\u5728 main.js \u5c06\u7edf\u4e00\u6570\u636e\u8bf7\u6c42\u5165\u53e3\u5f15\u5165<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>import api from \"..\/src\/api\/api\"<br>Vue.prototype.$api = api<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\u6a21\u677f\u4e2d\u4f7f\u7528<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>login(){<br> &nbsp; &nbsp;this.$api.vote.login().then((response)=&gt;{console.log(response)})<br>}<br>\u200b<br>logout(){<br> &nbsp; &nbsp;this.$api.vote.logout().then((response)=&gt;{console.log(response)})<br>}<br>\u200b<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>\u5b89\u88c5 \u5c01\u88c5 axios \u521b\u5efa axios.js \u6587\u4ef6 \u5bf9 axios\u8fdb\u884c\u5c01\u88c5 \u5c01\u88c5\u8bf7\u6c42\u65b9\u5f0f \u521b\u5efa http.j [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[14],"tags":[],"class_list":["post-276","post","type-post","status-publish","format-standard","hentry","category-axios"],"_links":{"self":[{"href":"https:\/\/gjweb.top\/index.php?rest_route=\/wp\/v2\/posts\/276","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/gjweb.top\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/gjweb.top\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/gjweb.top\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/gjweb.top\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=276"}],"version-history":[{"count":0,"href":"https:\/\/gjweb.top\/index.php?rest_route=\/wp\/v2\/posts\/276\/revisions"}],"wp:attachment":[{"href":"https:\/\/gjweb.top\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=276"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/gjweb.top\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=276"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/gjweb.top\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=276"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}