2015-04-24 9 views
0

Я пытаюсь размещать данные функции в контроллере, используя форму через AJAX Мой код: <meta name="_token" content="{{ csrf_token() }}"/> в верхней части страницы и Ajax код:Laravel 5 Ajax запрос Отображение 500 ошибки

$.ajaxSetup({ 
    headers: { 'X-CSRF-Token' : $('meta[name=_token]').attr('content') } 
}); 


$('form').submit(function(e) { 
    e.preventDefault(); 
    $.post('save', {name:'name anything'}, function(data) { 
     console.log(data); 
    }); 
}); 

Мой маршрут выглядит

Route::post('/page/save', [ 
     'uses'=> 'BackEnd\[email protected]' 
]); 

Но я получаю следующее сообщение об ошибке в моей консоли

500 Internal Server Error 

Это то, что у меня в контроллере:

if(Request::ajax()) { 
      $data = Input::all(); 
      print_r($data); 
      die(); 
} 
+0

Там должна быть какая-то ошибка на стороне PHP. Добавьте php-код. –

+0

Я использовал только код, упомянутый выше ничего больше @sgtBOSE – xenish

+0

Вы проверили вкладку сети в консоли для запроса? На каком пути он запрашивает? –

ответ

1

Добавить - use Illuminate\Http\Request; до запуска класса контроллера.

Внедрить инъекционную зависимость - public function store(Request $request) к методу.

И Intead из $data = Input::all(); попробуйте - $data = $request::input('name');

Надежда проблема будет решена.

Контроллер должен выглядеть -

<?php namespace App\Http\Controllers; 

использование Illuminate \ Http \ Request; использование Illuminate \ Routing \ Controller;

класс PagesController расширяет контроллер {

public function store(Request $request) 
{ 
    if($request->ajax()) { 
     $data = $request->input('name'); 
     print_r($data); 
     die(); 
    } 
} 

} 
0

Вы можете узнать точную ошибку из Firebug Net панели, где вы можете выбрать «Открыть ответ в новой вкладке». Это показывает сообщение об ошибке Laravel.

Аналогичный способ проверки содержимого ответа существует также в Chrome.

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