vue axios POST請求後端接收不到數據的解決辦法

一、前言

這個問題是我做vue的項目第一個遇到的問題,後端接收不到我傳遞的參數。

二、原因及解決辦法

爲什麼會這樣呢?

這篇文章描述得非常清楚。

那麼如何解決呢?

上面的文章裏說了好多種解決辦法,我把我使用的方法寫出來:

// http.js
import axios from 'axios'
import qs from 'qs'

export default {
  post(url, data) {
    return new Promise((resolve, reject) => {
      axios.post(url, qs.stringify(data), {
        headers: {
          'Content-Type': 'application/x-www-form-urlencoded',
          'Accept': 'application/json'
        }
      }).then((res) => {
        if (res.status == 200) {
          resolve(res.data);
        }
      }).catch((error) => {
        reject(error);
      })
    })
  }
}

我對POST請求做了一個封裝,每次引入http.js之後http.post(url,data)就可以成功發送請求了,如果想用別的方法發送只要參考兩個最重要的步驟就可以:
一個是qs.stringify(data)
另一個是設置headers

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章