【发布时间】:2016-09-02 16:47:32
【问题描述】:
我创建了一个 URL 字符串:
http://SERVER/v1/responders?latitude=48.25969809999999&longitude=11.43467940000005
一条路线:
Route::get('/responders', 'Responders\APIResponderController@index');
和一个控制器:
public function index(Request $request) {
// Get Latitude and Longitude from request url
$latitude = $request["latitude"];
$longitude = $request["longitude"];
$responders = new Responder();
if(!isset($latitude) & !isset($longitude)) {
}
但结果不是我所期望的。控制器不解析 URL 字符串中的参数。我是否以错误的方式解析它们?
我尝试使用 dd($request->all()); 转储我的输入,但输出为 NULL。由于 URL 发送正确,我想知道数据在哪里丢失。我的路由文件不正确吗?
更新 会不会是我的 nginx 配置??
server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
root /var/www/mfserver/public;
index index.php index.html index.htm;
charset utf-8;
server_name SERVER;
location / {
try_files $uri $uri/ /index.php?query_string;
}
error_page 404 /index.php;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /var/www/mfserver/public;
}
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
fastcgi_intercept_errors off;
fastcgi_buffer_size 16k;
fastcgi_buffers 4 16k;
}
}
【问题讨论】:
-
你能做一个
dd($request->all())并显示结果吗? -
结果是:
array:1 [▼ "query_string" => "" ] -
这很奇怪,因为我肯定有上面提到的应该给出参数的 URL
-
抱歉,在您的 nginx 配置中没有找到任何内容。是的,我要求您在没有 $ 的情况下将 dd(request()->get('latitude')) request 作为辅助函数运行。