如何在 Codeigniter 4 中更改状态代码在 ReactJS 中推送页面

how to change the status code in Codeigniter 4 To push pages in ReactJS

我使用 CI4 作为后端,React Js 作为前端,我正在进行身份验证,所以在身份验证之后,如果凭据正确,我想将用户推送到其他页面,如果不正确,则只需刷新相同的页面 第

我知道如何更改页面,但现在的问题是即使凭据不正确,此代码也会为所有内容提供状态 200,所以我应该怎么做才能使状态从真变为假如果响应为真,则使用推送到另一个页面

public function loginAuth()
    {
        $session = session();
        $userModel = new UserModel();
        $email = $this->request->getVar('email');
        $password = $this->request->getVar('password');
        
        $data = $userModel->where('email', $email)->first();
        
        if($data){
            $pass = $data['password'];
            $authenticatePassword = password_verify($password, $pass);
            if($authenticatePassword){
                $ses_data = [
                    'id' => $data['id'],
                    'name' => $data['name'],
                    'email' => $data['email'],
                    'isLoggedIn' => TRUE
                ];
                $session->set($ses_data);
                return redirect()->to('/');
            
            }else{
                $session->setFlashdata('msg', 'Password is incorrect.');
                // return redirect()->to('/signin');
            }
        }else{
            $session->setFlashdata('msg', 'Email does not exist.');
            // return redirect()->to('/signin');
        }
    }

这是代码,现在我希望在成功后它应该推送到不同的页面,但问题是它满足所有条件,如果所有条件都满足,我将无能为力 statusCode=200

我找到了一种方法,首先只需使用 react-router 推送到另一个页面,如果您的验证函数为真,然后将其他条件的状态更改为

        $model = new UserModel();
        $user  = $model->save($this->request->getPost());

        // Respond with 201 status code
        return $$this->fail($errors, 400);

而且我认为它对你有用