我无法在查询字符串部分中检索数据。
我在我的网站上使用了AJAX请求来异步执行各种各样的任务,并没有出现这种问题。
路线
Route::get('/mensagem/enviar_mensagem', [ 'as' => 'mensagem.enviar_mensagem', 'uses' => 'MensagemController@enviar_mensagem']);
测试网址:
http://mydomain.com.br/mensagem/enviar_mensagem?para=email@bol.com.br
我的行动方法:
public function enviar_mensagem(Request $request)
{
$para = $request->get('para');
//$para = $_GET['para']; I get an undefined index error
echo $para; //always empty string!
}
答案 0 :(得分:0)
嗯,提供的代码似乎是正确的。确保你use \Illuminate\Http\Request
。这段代码
Route::get('/mensagem/enviar_mensagem', function(\Illuminate\Http\Request $request) {
return $request->para;
// return $request->get('para'); // also works
});
按请求email@bol.com.br
http://your-site.app/mensagem/enviar_mensagem?para=email@bol.com.br
答案 1 :(得分:0)
我复制粘贴你的代码,两者都有效:
$para = $request->get('para');
$para = $_GET['para'];
//$para = $_GET['para']; I get an undefined index error
您确定网络服务器正确处理了HTTP请求吗? https://laravel.com/docs/5.4#web-server-configuration
答案 2 :(得分:0)
您需要使用input
。像这样:
另外,对于测试,return
与echo
。
public function enviar_mensagem(Request $request)
{
$para = $request->input('para');
return $para;
}
为了激发我的好奇心, return $request->all()
会返回什么?
答案 3 :(得分:0)
您可以尝试使用以下代码:
use Request;
class xyzController {
public function enviar_mensagem()
{
$para = Request::all();
echo $para['para'];
}
}
答案 4 :(得分:0)
首先,您需要更改路线以添加此
Route::get('/mensagem/enviar_mensagem/{para}',
[ 'as' => 'mensagem.enviar_mensagem', 'uses' =>
'MensagemController@enviar_mensagem']);
然后在控制器中
public function enviar_mensagem($para){
return var_dump($para);
}
答案 5 :(得分:-1)
在请求对象上使用route方法来访问GET参数
public function enviar_mensagem(Request $request)
{
$para = $request->route('para');
echo $para;
}