在React Native中获取Laravel API的响应

时间:2017-06-28 08:41:08

标签: javascript php laravel reactjs react-native

我使用React Native创建了一个移动应用程序,我希望使用Laravel作为后端。我创建了一个注册页面,允许用户通过移动应用程序注册帐户。

当用户按移动应用程序上的注册按钮时。它会向laravel发送请求并返回响应。在我的Register.js

async onRegisterPressed() {
    try{
        let response= await fetch('http://127.0.0.1:8000/api/register',{
            method: 'POST',
            headers: {
                'Accept': 'application/json',
                'Content-Type': 'application/json'
            },
            body: JSON.stringify({
                user:{
                    name:this.state.name,
                    email:this.state.email,
                    password:this.state.password,
                    password_confirmation:this.state.password_confirmation,
                }
            })
        });

        let res= await response.text();
        console.log("res is" + res);
    }catch(errors){

    }
}

但是在我的Laravel控制器中。我不知道如何返回表单验证的响应。

我的Api \ RegisterController

    public function register(Request $request){
        $this->validate($request,[
            'name' => 'required|max:255|unique:users',
            'email' => 'required|email|max:255|unique:users',
            'password' => 'required|min:8|confirmed',
            'gender'=>'required|bool'
        ]);
}

那么如何获取所有错误并将其返回到本机?它应该是json格式还是文本格式?希望你们能给我一些提示,因为我只是学会了原生的反应。

1 个答案:

答案 0 :(得分:0)

如果您使用Laravel,它应该只是:

return redirect('view')->withErrors($validator);

你可以在这里阅读更多相关信息: https://laravel.com/docs/5.0/validation