首页 > 解决方案 > 使用 react、axios 和 django,我正在尝试将数据从客户端发送到我的服务器,但我无法获取数据

问题描述

我正在尝试从客户端接收 POST 数据,但出现以下错误:

TypeError: registrar_usuario() missing 1 required positional argument: 'usuario'

这是我在客户端的代码:

const onSubmit = e => {
    e.preventDefault();
    alert("Enviando...");
    const nuevoUsuario = {
        nombre: datosUsuario.nombre,
        apellido: datosUsuario.apellido,
        correo: datosUsuario.email,
        contrasenia: datosUsuario.password
    }
    //const resultado = ApiUtils.registrarUsuario(nuevoUsuario);
    const resultado = axios.post('http://localhost:8000/api/registrar_usuario/', nuevoUsuario);
    console.log(resultado);
}

这是服务器端:

@api_view(['POST']) 
def registrar_usuario(request, usuario):
    print(usuario)
    return Response(status=status.HTTP_200_OK)

我需要帮助,这是我第一次使用 react、axios 和 django,所以任何建议都会有所帮助

标签: javascriptpythonreactjsdjangoaxios

解决方案


添加JSON.stringify(nuevoUsuario).

如果您添加它们的标题也会更好


const onSubmit = e => {
    e.preventDefault();
    alert("Enviando...");
    const nuevoUsuario = {
        nombre: datosUsuario.nombre,
        apellido: datosUsuario.apellido,
        correo: datosUsuario.email,
        contrasenia: datosUsuario.password
    }
    return axios.request({
       method:”POST”,
       headers:{
          “Content-Type”: “Application/json”
        },
        data: JSON.stringify(nuevoUsuario)
      }).then(console.log);
}



推荐阅读