2015-09-06 174 views
1

即時通訊不知道如何在laravel中做到這一點。我試圖做一個簡單的Ajax請求到我的控制器。然後在我的控制器返回我發送的值,所以我可以console.log數據。ajax請求laravel 5

但是,我有這樣做的問題。

Ajax請求:

$.ajaxSetup({ 
     headers: { 'X-CSRF-Token' : $('meta[name=_token]').attr('content') } 
    }); 
    jQuery.ajax({ 
     url:'/group/create', 
     type: 'GET', 
     data: { 
      name: groupName, 
      colour: "red" 
     }, 
     success: function(data){ 

      console.log(data); 
     }, 
     error: function (xhr, b, c) { 
      console.log("xhr=" + xhr + " b=" + b + " c=" + c); 
     } 
    }); 

路線:

Route::get('/group/create', ['middleware' => 'auth', 'uses' => '[email protected]']); 

控制器:

public function create() 
{ 

    $data = Request::all(); 

    return json_encode($data); 
} 

現在,當我CONSOLE.LOG返回的數據它顯示在頁面的確切HTML我上線了。有任何想法嗎?

+0

不知道在哪裏,你錯了。嘗試dd(「測試如果內部創建」);在你的控制器的創建方法中。然後檢查控制檯。 –

+0

你可以嘗試沒有中間件,看看是否給出了不同的結果? –

+0

您是否收到任何錯誤? – mdamia

回答

0

檢查瀏覽器console-network-lastprocess-預覽,它可能會顯示錯誤。 您也可以使用日誌::信息控制器(「有用的信息」)「控制檯登錄」,它會在存儲/日誌/ laravel.log展示給你

0

您應該使用Laravel的JSON回報:return response()->json(['name' => 'Abigail', 'state' => 'CA']);

但是你所做的實際上是用數據調用一個GET,但是在這種情況下它應該是一個POST。如果您必須向控制器提供數據,則它是一個POST,您可以通過這種方式返回數據。

因此,將您的AJAX更改爲POST,然後您可以使用Request::all()獲取所有數據,並通過JSON返回。