Столкнувшись с очень странной проблемой при публикации параметров строки запроса из браузера (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'], но с добавленными вопросительными знаками это не работает. Откуда они? Есть идеи, что не так?