当前位置: 首页 > 知识库问答 >
问题:

redux加载资源失败:服务器响应状态为400(错误请求)

符鸣
2023-03-14

我的代码工作正常,但当我试图从后端获取数据时,我收到一个错误“400错误请求”,我不知道发生了什么错误。请解决我的问题。

//API==http://localhost:8000/api/

指数js公司

import {API} from '../backend';
import axios from 'axios';

export const getdata = () => {
    return () => {
        axios.post(`${API}addtodo`)
        .then(res => {
            console.log(res)
        })
      
        .catch(err =>{
            console.log(err);
        })
    }
}

在这里,我分享了我的实际代码,其中添加操作被执行到表单中。js公司

import React,{useState, useEffect} from 'react'
import '../App.css'
import {
    FormGroup,
    Input,
    Button,
    Form,
    InputGroup,
    InputGroupAddon
} from 'reactstrap';
import {v4} from 'uuid';
import 'bootstrap/dist/css/bootstrap.min.css';
import {getdata, AddTodo} from '../Auth'

//redux
import {connect, useDispatch} from 'react-redux'
import {addTodo} from '../Action/todo';

const TodoForm  = ({addTodo}) => {

    const [title,setTitle] = useState('')

    const dispatch = useDispatch();
 useEffect(() => {
        dispatch(getdata())
    }, []);


    return(
 <Form>
           <FormGroup>
               <InputGroup>
                    <Input 
                    type='text'
                    name='todo'
                    id='todo'
                    placeholder='Your next Todo'
                    value={title}
                    onChange={e => setTitle(e.target.value)}
                    />
                    <InputGroupAddon addonType='prepend'>
                        <Button color='primary' onClick={()=>{
                            if(title === ''){
                                return alert('please add a todo')
                            }
                            const todo = {
                                title,
                                id:v4(),
                            }
                    
                            addTodo(todo);
                    
                            setTitle('');
                        }}>
                        
                            ADD
                        </Button>
                    </InputGroupAddon>
               </InputGroup>
           </FormGroup>
       </Form>      
    )
}

const mapStateToProps = state => ({

}) 

const mapDispatchToProps = dispatch =>({
    addTodo : todo =>{
        dispatch(addTodo(todo))
    },
})


export default connect(mapStateToProps,mapDispatchToProps)(TodoForm)

$$$$$$$$$$$$$$$ 后端 $$$$$$$$$$$$$$$$$$$$$

待办事项。js/路由器

router.post('/addtodo',addTodo);

待办事项。js/控制器

exports.addTodo = (req,res) =>{
  const todo = new Todo(req.body)
  todo.save((err,todo) => {
    if(err || !todo){
      return res.status(400).json({
          err : 'NOT able to store data in database'
      })
    }
    res.json(todo);
  })
}

共有1个答案

曾嘉言
2023-03-14

将第二个参数传递给axios.post函数很重要。

由于您使用的是axios,我对您的getData函数仍然感到困惑。post(${API}addtodo`)来获取数据。试着改变这条路线。

如果您有意尝试在没有正文的情况下请求addTodo,请添加{}作为第二个参数:axios。post(`${API}addTodo`,{})

 类似资料:
  • 我正在制作一个博客应用程序。如果我尝试访问单个概要文件,微调器将继续运行,但当我签入react dev工具时,数据就在那里。我哪里出错了?其他一切都很好。配置文件是可见的,但当我进入单个配置文件时,问题就出现了 轮廓js公司 数据来自的源,配置文件。js公司 我的github回购链接

  • 服务器js公司 应用程序。js公司 注册处理程序代码 当我试图注册一个用户时,我遇到了错误400。加载资源失败:服务器响应状态为400(错误请求),我已附加我的注册表。js文件寄存器。js:26个职位https://warm-earth-96837.herokuapp.com/register400(错误请求)寄存器。onSubmitSignIn@寄存器。js:26 400错误请求错误是一个HTT

  • 我试图使用react fetch将json对象发送到spring控制器。但我有以下错误。加载资源失败:服务器响应状态为400(错误请求) 但是get方法可以成功调用。 http://localhost:8080/test/xx/getSprintTasks/${this.props.sprintNo}` 反应提取: 我的身体: 我还尝试了以下操作: 我的控制器: } 任务java:

  • 我在Amplify中遇到了这个错误,我完成了构建tho。 该系统可以在本地环境中工作。包裹本地env的json脚本是这样的。 我的放大镜。xml如下。 屏幕完全倾斜了。 有没有人有同样的问题?

  • 我正在尝试发送这样的帖子请求: 我使用的是Apache服务器,这是我的<代码>。htaccess文件 无论何时发送请求,都会出现以下错误: 为什么会这样?我曾经使用Steam获取请求,它们工作正常,但这个帖子请求似乎不起作用。 编辑:这是steamcommunity。com的机器人。txt文件: 上面写着,所以这就是我收到错误的原因吗?

  • 这是我第一次使用Sanity构建博客网站来练习使用React JS,在那里我应该从sanity.io.调用一个API,但是我的React网站无法从Sanity获取数据。在网页上应该从Sanity博客导入数据的区域实际上是一个空白屏幕。当我检查控制台时,我发现了这个错误: 这是我的网络负载 还有我的网络预览 这是本应显示信息的页面的代码 非常感谢你的帮助。谢谢