不能"得到"使用laravel获取ajax请求中的数据

时间:2017-02-22 15:12:48

标签: php ajax laravel ubuntu networking

我无法在查询字符串部分中检索数据。

我在我的网站上使用了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!
}

6 个答案:

答案 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。像这样:

另外,对于测试,returnecho

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;
}