鍍金池/ 問答/HTML5  HTML/ 在vue-cli里面使用http-proxy-middleware post的問

在vue-cli里面使用http-proxy-middleware post的問題

在vue-cli里面使用http-proxy-middleware post的數(shù)據(jù)沒有傳遞到服務(wù)器,服務(wù)器一直返回空數(shù)據(jù)
在config/index.js

proxyTable: {
            '/api': {
                target: 'http://192.168.1.86:9999/web',
                changeOrigin: true,
                pathRewrite: {
                    '^/api': ''
                }
        },

配置了全局axios

   import axios from 'axios';
   Vue.prototype.$http = axios;  

請求接口

let url = 'api/接口'
this.$http({
            url: url,
            method: 'post',
            data: {
                mobile: parseInt(this.phonenum),
                type: 1
            },
        }).then(res => {})
          .catch(err=>{})

能搞請求后臺成功后,但是后臺卻沒有接到數(shù)據(jù)

回答
編輯回答
帥到炸

1.我的理解你說的意思是后臺接收到了你這個請求,但是沒有收到你data里的數(shù)據(jù),那可能是因為你的data的格式不對,用

data: JSON.stringfy({
                mobile: parseInt(this.phonenum),
                type: 1
            })

試試

2018年8月30日 12:21
編輯回答
薔薇花

axios的傳輸數(shù)據(jù)的格式,和我們平時傳輸?shù)臄?shù)據(jù)格式不太一樣。我上次也遇見了這個坑。前端在瀏覽器最常用的傳輸數(shù)據(jù)格式是Form Data,但是我上次的項目使用axios的時候傳輸數(shù)據(jù)格式是Request Payload,這就使得后端(PHP)收到的數(shù)據(jù)格式解析方法和平時不一樣,但是這也不是后端的問題,是我們前端在傳輸?shù)臅r候?qū)⒏袷睫D(zhuǎn)為常用的Form Data格式就正確了。你可以看看這篇文章Request Payload VS Form Data,然后對照你的控制臺的network查看是不是這個問題,我的解決方式是采用的 qs ,你也可以 npm install qs,可有直接轉(zhuǎn)換成正確的格式。

2017年5月6日 06:53
編輯回答
傻丟丟

初始化配置axios,create一個新的service,設(shè)置頭部,然后轉(zhuǎn)換一下數(shù)據(jù) 就OK啦

import axios from 'axios';

import Qs from 'qs';
// 創(chuàng)建axios實例
const service = axios.create({
    timeout: 5000, // 請求的超時時間
    //設(shè)置默認請求頭,使post請求發(fā)送的是formdata格式數(shù)據(jù)
    headers: {
        "Content-Type": "application/x-www-form-urlencoded"
    },
    withCredentials: true, // 允許攜帶cookie
    transformRequest: [function(data) {
        let newData = ''
        for (let k in data) {
            newData += encodeURIComponent(k) + '=' + encodeURIComponent(data[k]) + '&'
        }
        return newData
    }],
    paramsSerializer: function(params) {
        return Qs.stringify(params);
    }
})

export default service
2018年4月6日 18:17
編輯回答
伴謊

開到控制臺接口狀態(tài)碼是200嗎?看response有沒有數(shù)據(jù)?

2017年9月28日 01:32