如何在URL + laravel中检索参数

时间:2018-02-01 10:41:07

标签: json laravel

对于Web服务,如何使用Laravel检索数据json格式,任何人都可以帮助

https://test.com/admin/users/apiLogin?Login={"email":test@test.com,"pwd":testing}

in Controller

  public function apiLogin(Request $request)
    {

        //$data = $request->json()->all();

        $data=json_decode($request['Login']);

        echo $data['email'];
        echo "<pre>";
        print_r($data);
        echo "</pre>";
        echo "testsetet";
        exit;
    }

2 个答案:

答案 0 :(得分:0)

要获取网址参数,请使用以下网址:

$login = $request->input('login'); // or $request['Login']

目标是将login(这是一个字符串)转换为适当的JSON格式,以便您可以使用json_decode。

我会逐步将其分解:

  1. 删除所有\n个字符:

    $login = str_replace('\n', '', $login);

  2. 删除最后一个逗号

    $login = rtrim($login, ',');

  3. 添加括号

    $login = "[" . trim($login) . "]";

  4. 将其变为PHP数组:

    $json = json_decode($login, true);

答案 1 :(得分:0)

这里的问题是你的url参数'Login'没有正确格式化json。我会重新访问您的前端代码,保留这些数据,并确保它正确格式化。真正的json应该看起来像:

{"email":"test@test.com","pwd":"testing"}

除了BIG之外,永远不要在URL中保留密码。这是危险的愚蠢。使用POST请求执行此操作。从好的方面来说,后端代码与json_decode()逻辑几乎相同。