【问题标题】:axios doesn't get post request in redux-formaxios 没有收到 redux-form 的 post 请求
【发布时间】:2021-03-17 23:28:42
【问题描述】:

我有这个代码:

import axios from 'axios'


const storeDevices = values => {
    axios.create({
        baseURL: 'http://localhost:8000/something/store',
        method: 'POST',
        headers: {'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')},
        data: values

    });
}

export default storeDevices;

其他代码正确,因为此代码返回一个包含我表单中所有数据的对象

const storeDevices = values => {
    console.log(values);
}

export default storeDevices;

有趣的是,如果我尝试使用 .then 我有一个错误

axios__WEBPACK_IMPORTED_MODULE_0___default.a.create(...).then 不是 功能 用 .then 编写代码

axios.create({
    baseURL: 'http://localhost:8000/something/store',
    method: 'POST',
    headers: {'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')},
    data: values

}).then(res => {
    console.log(res);
    console.log(res.data);

});

【问题讨论】:

    标签: reactjs redux redux-form


    【解决方案1】:

    这是因为您从未告诉axios 发送POST 请求。 axios.create creates a new instance of axios 带有自定义配置。此实例有different methods(如.get().post() 等),但都不是then(),这就是您收到错误.then is not a function 的原因。您将默认方法设置为POST,但您从未发送过请求。

    我认为您想创建这个新实例是因为您不想每次都添加基本 URL 和标头。如果你想创建一个基础实例,你可以将返回的值赋给一个新的变量:

    const API = axios.create({
      baseURL: 'http://localhost:8000/api/',
      headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') },
    });
    

    并使用此实例发布您的请求:

    API.post('store', data)
      .then(res => {
        console.log(res);
        console.log(res.data);
    });
    

    【讨论】:

      【解决方案2】:

      您可以尝试使用此语法发帖吗?

      axios.post('http://localhost:8000/something/store', values, {headers: {'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')},}
      }).then(res => {
          console.log(res);
          console.log(res.data);
      });
      

      【讨论】:

      • 我试过了。它发送 null 但如果我只单击一次选择它发送正常数据
      猜你喜欢
      • 2017-08-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-23
      • 2018-12-31
      • 1970-01-01
      • 2017-10-14
      • 2019-08-14
      相关资源
      最近更新 更多