POST数据从android使用Volley到Laravel5


POST data from android using Volley to Laravel5

我有什么URL被用来链接到Laravel5的php脚本的问题,我在localhost上运行的那一天。我已经在控制器中创建了一个函数来处理请求。下面是函数:

    public function mobile_validator(Request $request) {
    $method = $request->method();
    if($method == 'POST') {
        $username = $request->username;
        $password = $request->password;
        $user = DB::table('users')->get();
        foreach($user as $i) {
            if($username == $i->email and $password == $i->password) {
                return 'success';
            }
            else {
                return 'failure';
            }
        }
    }   

我还在route.php中创建了一个路由。

Route::get('/mobilevalidator', 'AuthController@mobile_validator');

这是我在android中的URL:

private static final String LOGIN_URL = "http://10.0.2.2:8000/mobilevalidator/";

现在当我登录我的应用程序它显示错误com.android.volley.timeouterror

在Laravel中定义php脚本的URL是否正确?

在你的路由中你定义了一个

Route::get

这意味着该路由正在侦听GET方法。在控制器中指定

$method = $request->method();
if($method == 'POST') {

这意味着你的控制器实际上只返回东西你有一个POST当然不会发生因为你的路由调用你的控制器只监听GET

您可以完全删除方法的检查。控制器方法只有在映射到它的路由时才能被调用。如果您还想支持POST,只需添加

Route::post( ... )

小提示:

尝试使用邮差或任何其他的RestClient来测试你的路由,然后在你的应用程序中使用它们。也不要忘记删除laravel中的web中间件-否则你还需要添加csrf令牌到你的请求