2017-02-22 216 views
0

我只是无法检索我的查询字符串部分中的数据。使用laravel无法“获取”数据获取ajax请求

我已经在我的网站中使用AJAX请求来异步实现各种各样的任务,并且没有这种问题。

路线

Route::get('/mensagem/enviar_mensagem', [ 'as' => 'mensagem.enviar_mensagem', 'uses' => '[email protected]_mensagem']); 

测试网址:

http://mydomain.com.br/mensagem/[email protected] 

我的操作方法:

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

事实证明,这是一个Ngnix配置问题。它忽略了我的查询字符串。 –

回答

0

您需要使用input。像这样:

另外,对于测试,returnecho

public function enviar_mensagem(Request $request) 
{ 
    $para = $request->input('para');  
    return $para; 
} 

并引发了我的好奇心,哪些呢return $request->all()回报呢?

-1

使用request对象的路线的方法来访问GET参数

public function enviar_mensagem(Request $request) 
{ 
    $para = $request->route('para'); 

    echo $para; 
} 
+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 protected]按要求http://your-site.app/mensagem/[email protected]

+0

我有“使用\ Illuminate \ Http \ Request”。我也尝试在我的动作参数列表中使用“\ Illuminate \ Http \ Request $ request”,但没有任何内容。 $ request-> para似乎返回空字符串。 –

0

我复制粘贴你的代码,这两部作品:

$para = $request->get('para'); 
$para = $_GET['para']; 
//$para = $_GET['para']; I get an undefined index error 

你确定Web服务器是妥善处理HTTP请求? https://laravel.com/docs/5.4#web-server-configuration

+0

也许这有效:/index.php/mensagem/[email protected] –

0

你可以用下面的代码试试:

use Request; 

class xyzController { 
    public function enviar_mensagem() 
    { 
     $para = Request::all(); 
     echo $para['para']; 
    } 

}

0

首先,您需要更改也添加此

Route::get('/mensagem/enviar_mensagem/{para}', 
[ 'as' => 'mensagem.enviar_mensagem', 'uses' => 
'[email protected]_mensagem']); 

的路线和之后,在控制器

public function enviar_mensagem($para){ 
    return var_dump($para); 
}