欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

vue中axios處理http發(fā)送請求的示例(Post和get)

 更新時間:2017年10月13日 10:43:47   作者:Wayne Zhu  
本篇文章主要介紹了vue中axios處理http請求的示例(Post和get),這里整理了詳細的代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文介紹了vue中axios處理http發(fā)送請求的示例(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);
 });

同時執(zhí)行多個請求

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請求,一般情況下,第一個參數(shù)是url,第二個參數(shù)是要發(fā)送的請求體的數(shù)據,第三個參數(shù)是對請求的配置。

另外:axios默認是application/json格式的,如果不適用 qs.stringify 這種形式, 即使添加了請求頭 最后的content-type的形式還是 json 的。

對于post請求,我們也可以使用下面的jquery的ajax來實現(xiàn):

    $.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 () {

     }
    });

顯然,通過比較,可以發(fā)現(xiàn),jquery的請求形式更簡單一些,且jqury默認的數(shù)據格式就是 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);
 });

即第一個參數(shù)是:url, 第二個參數(shù)就是一個配置對象,我們可以在配置對象中設置 params 來傳遞參數(shù)。

個人理解為什么get沒有第二個參數(shù)作為傳遞的查詢字符串,而post有第二個參數(shù)作為post的數(shù)據。

因為get可以沒有查詢字符串,也可以get請求,但是post必須要有post的數(shù)據,要不然就沒有使用post的必要了。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • vue3使用iframe嵌入ureport2設計器,解決預覽時NullPointerException異常問題

    vue3使用iframe嵌入ureport2設計器,解決預覽時NullPointerException異常問題

    這篇文章主要介紹了vue3使用iframe嵌入ureport2設計器,解決預覽時NullPointerException異常問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • element?el-select下拉框選擇失效解決辦法

    element?el-select下拉框選擇失效解決辦法

    el-select即選擇器用于從若干個候選項中選擇其中一個(或者多個),在傳統(tǒng)網頁開發(fā)中選擇器經常被稱作下拉框、下拉列表是最常用的表單元素之一,這篇文章主要給大家介紹了關于element?el-select下拉框選擇失效解決辦法,需要的朋友可以參考下
    2023-08-08
  • vue.js動態(tài)修改background-image問題

    vue.js動態(tài)修改background-image問題

    這篇文章主要介紹了vue.js動態(tài)修改background-image問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • vue+element樹組件 實現(xiàn)樹懶加載的過程詳解

    vue+element樹組件 實現(xiàn)樹懶加載的過程詳解

    這篇文章主要介紹了vue+element樹組件 實現(xiàn)樹懶加載的過程,本文通過圖文實例代碼相結合給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-10-10
  • Vue打包上線之后部分CSS不生效問題的解決辦法

    Vue打包上線之后部分CSS不生效問題的解決辦法

    在vue項目中開發(fā)環(huán)境的樣式沒問題,但是打包上線后,樣式不生效,下面這篇文章主要給大家介紹了關于Vue打包上線之后部分CSS不生效問題的解決辦法,需要的朋友可以參考下
    2022-12-12
  • 詳解VUE 數(shù)組更新

    詳解VUE 數(shù)組更新

    這篇文章主要介紹了VUE 數(shù)組更新問題,文中給大家介紹了vue如何監(jiān)聽數(shù)據的變化的 ,需要的朋友可以參考下
    2017-12-12
  • vue從倉庫state中取不到數(shù)據的問題

    vue從倉庫state中取不到數(shù)據的問題

    這篇文章主要介紹了vue從倉庫state中取不到數(shù)據的問題及解決,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • 基于vue--key值的特殊用處詳解

    基于vue--key值的特殊用處詳解

    這篇文章主要介紹了基于vue--key值的特殊用處詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • Vue 路由返回恢復頁面狀態(tài)的操作方法

    Vue 路由返回恢復頁面狀態(tài)的操作方法

    在使用 Vue 開發(fā)前端的時候遇到一個場景在首頁進行一些數(shù)據搜索,點擊搜索結果進入詳情頁面,瀏覽詳情頁后返回主頁,所以需要在返回后恢復跳轉前的頁面參數(shù)狀態(tài),今天通過本文給大家分享Vue 路由頁面狀態(tài)返回的操作方法,一起看看吧
    2021-07-07
  • 在Vue中實現(xiàn)隨hash改變響應菜單高亮

    在Vue中實現(xiàn)隨hash改變響應菜單高亮

    這篇文章主要介紹了在Vue中實現(xiàn)隨hash改變響應菜單高亮的方法,文中還通過實例代碼給大家介紹了vue關于點擊菜單高亮與組件切換的相關知識,需要的朋友可以參考下
    2020-03-03

最新評論