2016-10-14 4 views
2

Я пытаюсь обновить свою базу данных с помощью ajax в laravel. Когда я нажимаю кнопку (тумблер) кнопку следует обновить базу данных включить колонки от 1 до 0.Невозможно передать ajax функции контроллера

Здесь есть сценарий, написанный в представлении

$(".toggle-btn").change(function() { 
    var id = $(this).attr('name'); // $(this) refers to button that was clicked 

    $.ajax({ 
     url: '/adminpanel/dviulaan/stt', 
     method: "post", 
     data: {'id' : id} , 
     dataType: "json", 

     }); 
}); 

Вот мой маршрут

Route::post('adminpanel/dviulaan/stt', '[email protected]'); 

А вот функция контроллера

public function status() 
{ 
    $id = Input::all(); 

if (Request::ajax()) { 
    DvAnnouncement::where('announcement_id', $id)->update(
     [ 
      'enable' => '0', 
      'user_updated' => Auth::user()->id, 
      'updated_at' => new DateTime, 
     ]); 
} 

     $response = array(
      'status' => 'success', 
      'msg' => 'Option created successfully', 
     ); 

     return Response::json($response); 

} 

Когда я нажимаю на кнопку она показывает следующее ошибка в консоли

POST http://localhost/adminpanel/dviulaan/stt 500 (Internal Server Error) 

Пожалуйста, помогите мне найти ошибку.

Я даже изменил метод контроллера, как показано ниже

public function status(Request $request) 
    { 
     $id = Input::get('id'); 

    if (Request::ajax()) { 
     DvAnnouncement::where('announcement_id', $id)->update(
      [ 
       'enable' => '0', 
       'user_updated' => Auth::user()->id, 
       'updated_at' => new DateTime, 
      ]); 
    } 

      $response = array(
       'status' => 'success', 
       'msg' => 'Option created successfully', 
      ); 

      return Response::json($response); 

    } 
+1

Это означает, что ваш PHP не работает. Для получения дополнительной информации просмотрите журналы ошибок на сервере. –

+0

им смущенный. все работает отлично, за исключением этого. – Sawad

+0

Если вы читаете журналы ошибок вашего сервера, вы станете менее запутанными. ¯ \\ _ (ツ) _/¯ –

ответ

1

$id = Input::all(); =>$id = Input::get('id');

UPD после того, как бревна

включают в голове

<meta name="csrf-token" content="{!! csrf_token() !!}" /> 

то с hange in function

$(".toggle-btn").change(function() { 
    var id = $(this).attr('name'); // $(this) refers to button that was clicked 

    $.ajax({ 
    url: '/adminpanel/dviulaan/stt', 
    method: "post", 
    data: {'id' : id, '_token': $('meta[name="csrf-token"]').attr('content')} , 
    dataType: "json", 

    }); 
}); 
+0

oh. Это ошибка. Ив исправил его. но все же он дает то же сообщение об ошибке – Sawad

+0

Посмотрите последний файл журнала в хранилище/журналы каталога, может быть ошибка в базе данных – OotzlyGootzly

+0

'Auth :: user() -> id' user auth? Потому что если нет, то 'Auth :: user()' return 'null' и будет ошибка – OotzlyGootzly

Смежные вопросы