为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕神8447489 2023-10-14 17:03:05
我有这个代码: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 不是函数代码与.thenaxios.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);});
查看完整描述

2 回答

?
倚天杖

TA贡献1828条经验 获得超3个赞

这是因为您从未告诉过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);

});


查看完整回答
反对 回复 2023-10-14
?
MYYA

TA贡献1868条经验 获得超4个赞

你可以尝试使用这个语法发帖吗?


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

});


查看完整回答
反对 回复 2023-10-14
  • 2 回答
  • 0 关注
  • 122 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信