繁体   English   中英

使用Volley将数据从android发布到Laravel5

[英]POST data from android using Volley to Laravel5

我在用于在Laravel5中链接到php脚本的URL上遇到问题,我现在正在本地主机上运行它。 我在控制器中创建了一个函数来处理请求。 这是函数:

    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中的网址:

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

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

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

在您的路线中,您定义了一个

Route::get

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

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

这意味着您的控制器实际上只返回您拥有POST的内容,因为调用您的控制器的路由仅在侦听GET,所以这将永远不会发生

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

Route::post( ... )

一些提示:

在您的应用中使用路由之前,请尝试使用PostMan或任何其他RestClient测试您的路由。 另外,不要忘记删除laravel中的Web中间件-否则,您还需要在请求中添加csrf令牌。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM