2017-02-22 12 views
0

クエリ文字列セクションのデータを取得できません。laravelを使用してajaxリクエストを取得するデータを取得できません

さまざまなタスクを非同期で実装するために私のWebサイトでAJAXリクエストを使用しましたが、この種の問題はありませんでした。

ルート

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

テストURL:

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

がアクセス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 

}); 

リターンは私がコピー要求http://your-site.app/mensagem/[email protected]

+0

私は "use \ Illuminate \ Http \ Request"を含んでいました。私も "\ Illuminate \ Http \ Request $ request"を自分のアクションパラメータリストに使用しようとしましたが、何もしませんでした。 $ request-> paraは空文字列を返すようです。 –

0

によって[email protected]はあなたのコードとの両方の作品を貼り付け:

$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

+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); 
} 
関連する問題