Странные двойные знаки вопроса в параметрах строки запроса с выборкой api и laravel - PullRequest
1 голос
/ 27 марта 2019

Столкнувшись с очень странной проблемой при публикации параметров строки запроса из браузера (chrome) с использованием API выборки, а затем при разборе параметров на стороне сервера с помощью php-laravel, ключ параметра добавляется с двойными знаками вопроса.

Я использую клиент aurelia fetch, если это имеет значение.

let url = new URL('https://myapp.com/api/companies/');
    let param = {'id_owner': 34};
    url.search = new URLSearchParams(param);
    this.http.fetch(url, {
      mode: 'cors',
      method: 'get'
    })

на стороне сервера, когда я пытаюсь получить доступ к id_owner, ничего не появляется. Я добавил следующую строку в мой контроллер (laravel) и вывод

 public function index(Request $request)
    {
        return [$_SERVER['REQUEST_URI'], $_SERVER['QUERY_STRING'], $_POST, $_GET, $request->query('??id_owner'), $request->all()];

и, что удивительно, вывод содержит двойные знаки вопроса, добавленные к ключу

[
"\/api\/companies\/?id_owner=34", // [$_SERVER['REQUEST_URI']
"??id_owner=34",      // $_SERVER['QUERY_STRING']
[],                   // $_POST
{"??id_owner":"34"},  // $_GET
"34",                 // $request->query('??id_owner') , a laravel feature
{"??id_owner":"34"}   // $request->all() , again a laravel feature
]

В идеале для получения значения должно быть просто и понятно использовать $ _GET ['id_owner'], но с добавленными вопросительными знаками это не работает. Откуда они? Есть идеи, что не так?

...