Php 使用fetch api和laravel在查询字符串参数中使用奇怪的双问号
当使用FetchAPI从浏览器(chrome)发布查询字符串参数,然后使用php laravel在服务器端解析参数时,遇到了一个非常奇怪的问题,参数键的前面有两个问号 如果有必要,我正在使用aurelia fetch客户端Php 使用fetch api和laravel在查询字符串参数中使用奇怪的双问号,php,laravel,fetch,aurelia,fetch-api,Php,Laravel,Fetch,Aurelia,Fetch Api,当使用FetchAPI从浏览器(chrome)发布查询字符串参数,然后使用php laravel在服务器端解析参数时,遇到了一个非常奇怪的问题,参数键的前面有两个问号 如果有必要,我正在使用aurelia fetch客户端 let url = new URL('https://myapp.com/api/companies/'); let param = {'id_owner': 34}; url.search = new URLSearchParams(param);
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\u owner
时,没有显示任何内容。
我在控制器(laravel)和输出中添加了以下行
公共功能索引(请求$Request)
{
返回[$\u服务器['REQUEST\u URI'],$\u服务器['QUERY\u STRING'],$\u POST,$\u GET,$REQUEST->QUERY('??id\u 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
]
理想情况下,使用$\u GET['id\u owner']应该简单明了要获取值,但添加问号,则不起作用。它们来自何方?知道哪里出了问题吗?在发送到PHP之前听起来像是url编码问题。在发送请求之前,您可以尝试控制台日志吗?
https://myapp.com/api/companies/
?在启动process.console日志之前在发布请求之前href:https://myapp.com/api/companies/?id_owner=34“
@Bira当我访问urlhttps://myapp.com/api/companies/
我得到这个JSON[“\/api\/companys”、“?”、[]、{”:“}、null、{”:null}]
我不知道它是否有帮助,但请检查:。这个问题是关于第一个参数只有一个前面的?
。注释中的一个拉取请求被拒绝,因为他们说:过时,因为URLSearchParams
(Angular's)已被弃用,而HttpParams
尚不支持解析字符串。在将其发送到PHP之前,听起来像是url编码问题。在发送请求之前,您可以尝试控制台日志吗?https://myapp.com/api/companies/
?在启动process.console日志之前发布请求href: "https://myapp.com/api/companies/?id_owner=34“
@Bira当我访问urlhttps://myapp.com/api/companies/
我得到这个JSON[“\/api\/companys”、“?”、[]、{”:“}、null、{”:null}]
我不知道它是否有帮助,但请检查:。这个问题是关于第一个参数只有一个前面的?
。在注释中的一个拉取请求被拒绝,因为他们说:过时,因为URLSearchParams
(Angular's)已被弃用,而HttpParams
还不支持解析字符串。