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

Axios post请求未发送数据或接收响应

庞乐池
2023-03-14

这是我第一次尝试进行基本身份验证,但似乎没有任何效果。Axios post未发送数据/控制器未返回响应。我找不到我到底哪里出错了,但我想知道我的http post请求的主体是否必须与requestbody匹配,或者我需要做什么更改才能让UserRepository将表单dat保存在数据库中?

const Login = () => {

    const [registration, setRegistration] = useState("true");

    const [email, setEmail] = useState("");
    const [regPwd, setRegPwd] = useState("");
    const [regUsername, setRegUsername] = useState("");

    const [logUsername, setLogUsername] = useState("");
    const [logPwd, setLogPwd] = useState("");

    const redirect = useNavigate();

    const handleRegSubmit = async (e) => {
        e.preventDefault();
        const registerDTO = {
            email: email,
            username: regUsername,
            password: regPwd
        }
        try {
            const response = await axios.post('http://localhost:8080/registration',
                 {registerDTO} )
                if (response.status === 200) {
                    redirect("/user/${username}")
                } else {
                    setEmail("")
                    setRegUsername("")
                    setRegPwd("")
                }
        }
        catch (error) {
            console.log(error)
        }
    }

    const handleLogSubmit = async (e) => {
        e.preventDefault();
        const logUser = {
            username: logUsername,
            password: logPwd
        }
        try {
            const response = await axios.post('http://localhost:8080/login',
                { logUser })
                if (response.status === 200) {
                    redirect("/user/${username}")
                } else {
                    setLogUsername("")
                    setLogPwd("")
                }
        }
        catch (error) {
            console.log(error)
        };   
    }




Spring boot



@CrossOrigin(origins= "http://localhost:3000")
@RestController
@RequestMapping("")
public class AuthenticationController {

    @Autowired
    UserRepository userRepository;

       
    @PostMapping("/register")
    public ResponseEntity<Object> processRegistration(@RequestBody @Valid RegisterDTO registerDTO,
                                                      BindingResult bindingResult, HttpServletRequest request) {

        if (bindingResult.hasErrors()) {
            return ResponseEntity.badRequest().body("An error occurred!");
        }

        User existingUser = userRepository.findByUsername(registerDTO.getUsername());

        if (existingUser != null) {
            return ResponseEntity.badRequest().body("Username already exists!");
        }


        User user = new User(registerDTO.getEmail(), registerDTO.getUsername(), registerDTO.getPassword());
        userRepository.save(user);

        return ResponseEntity.ok().body(user);
    }

    @PostMapping("/login")
    public ResponseEntity<Object> processLogin(@RequestBody @Valid LoginDTO loginDTO,
                                               BindingResult bindingResult,HttpServletRequest request) {

        if (bindingResult.hasErrors()) {
            return ResponseEntity.badRequest().body("An error occurred!");
        }

        User user = userRepository.findByUsername(loginDTO.getUsername());

        if (user == null) {
            return ResponseEntity.badRequest().body("Username does not exist!");
        }

        String password = loginDTO.getPassword();

        if (!user.isMatchingPassword(password)) {
            return ResponseEntity.badRequest().body("Invalid password!");
        }

        return ResponseEntity.ok(user);
    }

}

共有1个答案

孙才捷
2023-03-14

您正在发送到<代码>http://localhost:8080/registration但将路由定义为本地主机:8080/寄存器

 类似资料:
  • 我正在尝试使用WCF代码中的TCP套接字连接到远程外部服务器我的WCF服务是一个客户端,它的代码使用套接字连接到外部服务器。此代码向外部服务器发送请求并接收服务器响应 如果我使用相同的客户端代码创建一个windows应用程序以连接到远程服务器,则成功。我能够连接、发送和接收此错误仅在我将WCF带入图片时发生。代码在if(m_socket失败。连接)。因此无法成功连接。 非常感谢。

  • 我正在Pygame中创建一个游戏,它需要多人游戏的客户端服务器部分。 首先,我正在检查是否有少于两个连接。如果是这种情况,客户端将显示一个屏幕,上面写着“等待连接”。 我已使客户端成功地向服务器发送“1”消息,如果服务器未满,服务器将以“1”响应。因此,如果服务器没有响应1,则服务器已满,客户端可以继续。 然而,我在标题中提到了这个错误。 服务器代码: 调用它的客户端代码: 服务器代码中的s.se

  • 因此,我试图发送一个数据包,但我不断得到这个错误 任何帮助将是真棒! 谢谢! 错误消息:不允许发送或接收数据的请求,因为套接字未连接,并且(使用sendto调用在数据报套接字上发送时)未提供地址 代码: }

  • 我制作了一个简单的JavaScript页面,当按下“发送”按钮时,该页面应该显示时间表并通过HTTP发送数据。 数据应该发送到一个Arduino使用这个简单的方案: http://arduinoip/DATASTARTSHEREhh:mm;hh:mm;hh:mm;[...];DATAENDSHERE 我使用以下代码打印我在Arduino串行监视器中收到的所有数据: 我收到的数据如下: 新客户 CM

  • 我试图将文件从客户端传输到服务器。但由于错误,我没有收到任何文件。 这是我的server.py文件,但我得到这个错误,当我要从客户端接收文件。 这是我的客户。请看下面。但这并没有出现错误。 这是我的服务器错误。派克

  • 我想发送一个字符串从客户端到即服务器。但是我发现了这个错误。请引导我! 不允许发送或接收数据的请求,因为套接字未连接,并且(使用sendto调用在数据报套接字上发送时)未提供地址 客户端 服务器 我被卡住了! 编辑1学分:j4ck 服务器将要关闭。如何使此服务器对所有请求都处于活动状态?我想使用套接字从发送请求。我想,一旦请求到达服务器,服务器应该使类的线程而不是函数。