我有什么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令牌到你的请求