axios 没有收到 redux 形式的 post 请求

我有这个代码:


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);

});


慕神8447489
浏览 124回答 2
2回答

倚天杖

这是因为您从未告诉过axios发送POST请求。使用自定义配置axios.create 创建一个新实例。axios该实例有不同的方法(如.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);});

MYYA

你可以尝试使用这个语法发帖吗?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);});
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript