最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

axios处理http发送Post和get

来源:懂视网 责编:小采 时间:2020-11-27 19:54:26
文档

axios处理http发送Post和get

axios处理http发送Post和get:这次给大家带来axios处理http发送Post和get,axios处理http发送Post和get的注意事项有哪些,下面就是实战案例,一起来看一下。 axios中文文档。 https://github.com/mzabriskie/axios#using-applicationx-www-form-url
推荐度:
导读axios处理http发送Post和get:这次给大家带来axios处理http发送Post和get,axios处理http发送Post和get的注意事项有哪些,下面就是实战案例,一起来看一下。 axios中文文档。 https://github.com/mzabriskie/axios#using-applicationx-www-form-url

这次给大家带来axios处理http发送Post和get,axios处理http发送Post和get的注意事项有哪些,下面就是实战案例,一起来看一下。

axios中文文档??

https://github.com/mzabriskie/axios#using-applicationx-www-form-urlencoded-format axios文档

在处理http请求方面,已经不推荐使用vue-resource了,而是使用最新的axios,下面做一个简单的介绍。

安装

使用node

npm install axios

使用cdn

<script src="https://unpkg.com/axios/dist/axios.min.js"></script>

基本使用方法

get请求

// Make a request for a user with a given ID
axios.get('/user?ID=12345')
 .then(function (response) {
 console.log(response);
 })
 .catch(function (error) {
 console.log(error);
 });
// Optionally the request above could also be done as
axios.get('/user', {
 params: {
 ID: 12345
 }
 })
 .then(function (response) {
 console.log(response);
 })
 .catch(function (error) {
 console.log(error);
 });

Post请求

 axios.post('/user', {
 firstName: 'Fred',
 lastName: 'Flintstone'
 })
 .then(function (response) {
 console.log(response);
 })
 .catch(function (error) {
 console.log(error);
 });

同时执行多个请求

function getUserAccount() {
 return axios.get('/user/12345');
}
function getUserPermissions() {
 return axios.get('/user/12345/permissions');
}
axios.all([getUserAccount(), getUserPermissions()])
 .then(axios.spread(function (acct, perms) {
 // Both requests are now complete
 }));

这个的使用方法其实和原生的ajax是一样的,一看就懂。

使用 application/x-www-urlencoded 形式的post请求:

var qs = require('qs');
 axios.post('/bbg/goods/get_goods_list_wechat', qs.stringify({"data": JSON.stringify({
 "isSingle": 1,
 "sbid": 13729792,
 "catalog3": 45908012,
 "offset": 0,
 "pageSize": 25
 })}), {
 headers: {
 "BBG-Key": "ab9ef204-3253-49d4-b229-3cc2383480a6",
 }
 })
 .then(function (response) {
 // if (response.data.code == 626) {
 console.log(response);
 // }
 }).catch(function (error) {
 console.log(error);
 });

具体使用参考文档: https://github.com/mzabriskie/axios#using-applicationx-www-form-urlencoded-format

注意: 对于post请求,一般情况下,第一个参数是url,第二个参数是要发送的请求体的数据,第三个参数是对请求的配置。

另外:axios默认是application/json格式的,如果不适用 qs.stringify 这种形式, 即使添加了请求头 最后的content-type的形式还是 json 的。

对于post请求,我们也可以使用下面的jquery的ajax来实现:

 $.ajax({
 url:'api/bbg/goods/get_goods_list_wechat',
 data:{
 'data': JSON.stringify({
 "isSingle": 1,
 "sbid": 13729792,
 "catalog3": 45908012,
 "offset": 0,
 "pageSize": 25
 }) 
 }, 
 beforeSend: function(request) {
 request.setRequestHeader("BBG-Key", "ab9ef204-3253-49d4-b229-3cc2383480a6");
 }, 
 type:'post', 
 dataType:'json', 
 success:function(data){ 
 console.log(data);
 },
 error: function (error) {
 console.log(err);
 },
 complete: function () {
 }
 });

显然,通过比较,可以发现,jquery的请求形式更简单一些,且jqury默认的数据格式就是 application/x-www-urlencoded ,从这方面来讲会更加方便一些。

另外,对于两个同样的请求,即使都请求成功了,但是两者请求得到的结果也是不一样的

不难看到: 使用axios返回的结果会比jquery的ajax返回的结构(实际的结果)多包装了一层,包括相关的config、 headers、request等。

对于get请求, 我个人还是推荐使用axios.get()的形式,如下所示:

 axios.get('/bbg/shop/get_classify', {
 params: {
 sid: 13729792
 },
 headers: {
 "BBG-Key": "ab9ef204-3253-49d4-b229-3cc2383480a6"
 }
 })
 .then(function (response) {
 if (response.data.code == 130) {
 items = response.data.data;
 store.commit('update', items);
 console.log(items);
 }
 console.log(response.data.code);
 }).catch(function (error) {
 console.log(error);
 console.log(this);
 });

即第一个参数是:url, 第二个参数就是一个配置对象,我们可以在配置对象中设置 params 来传递参数。

个人理解为什么get没有第二个参数作为传递的查询字符串,而post有第二个参数作为post的数据。

因为get可以没有查询字符串,也可以get请求,但是post必须要有post的数据,要不然就没有使用post的必要了。

相信看了本文案例你已经掌握了方法,更多精彩请关注Gxl网其它相关文章!

推荐阅读:

JS上传文件时显示进度条

layer前端组件图片显示功能

文档

axios处理http发送Post和get

axios处理http发送Post和get:这次给大家带来axios处理http发送Post和get,axios处理http发送Post和get的注意事项有哪些,下面就是实战案例,一起来看一下。 axios中文文档。 https://github.com/mzabriskie/axios#using-applicationx-www-form-url
推荐度:
标签: http get 及解决
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top