反应注册

我是个新手,在注册时遇到了问题。

http.hook.js:17 POST http:/localhost:3000apiauthregister。 500(内部服务器错误)

错误:Что-то пошло не так : (, попробуйте снова at http.hook.js:21 at async registerHandler (Registration.js:24)

代码http.hook.js。

import {useState, useCallback} from 'react';

export const useHttp = () => {
    const [loading, setLoading] = useState(false);
    const [error, setError] = useState(null);


    const request = useCallback( async (url, method = 'GET', body = null, headers = {}) => {
        setLoading(true);
        try {

            if (body) {
                body = JSON.stringify(body);
                headers['Content-Type'] = 'application/json'
            }

            const response = await fetch(url, {method, body, headers});
            const data = await response.json();

            if (!response.ok) {
                throw new Error(data.message || 'Что-то пошло не так :(');
            };

            setLoading(false);

            return data;
        } catch (e) {
            console.log(e)
            setLoading(false);
            setError(e.message);
            throw e;
        }
    }, [])

    const clearError = useCallback( () => setError(null), []);

    return { loading, request, error, clearError }
}

和没有前端的Registration.js代码。

import React, { useState, useEffect } from 'react';
import { useHttp } from '../hooks/http.hook';
import { useMessage } from '../hooks/message.hook';

export const Registration = () => {
    const message = useMessage();
    const {loading, error, request, clearError} = useHttp();
    const [form, setForm] = useState({
        nick: '', email: '', password:''
    });

    useEffect(() => {
        console.log(error);
        message(error);
        clearError();
    }, [error, message, clearError]);

    const changeHandler = event => {
        setForm({ ...form, [event.target.name]: event.target.value });
    };

    const registerHandler = async () => {
        try {
            const data = await request('/api/auth/register', 'POST', {...form});
            console.log('Data', data)
        } catch (e) {
            console.log(e)
        }
    };

解决方案:

我认为你的服务器端出现了问题。HTTP响应代码500意味着服务器遇到了意外情况。

测试你的端点通过curl或XHR请求。

也可能你发送的数据无效。

给TA打赏
共{{data.count}}人
人已打赏
未分类

如何创建一个包含日期和时间的列表的pd.DatatimeIndex?

2022-9-9 5:52:16

未分类

javascipt es6迭代器懒惰评估在内存中是如何操作的?

2022-9-9 5:52:18

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索