2016-06-18 4 views
1

Я использую Laravel 5 POST маршрут вызова AJAX, я определил его как,маршрут Laravel не найден, но данные сохраняются в БД

Route::post('user/save-draft', ['as' => 'user/save-draft', 'uses' => '[email protected]']); 

Я также использую Route :: ресурс для того же контроллера выше это копь-проекта маршрут, как,

Route::resource('user', 'UserController', ['except' => 'index']); 

Я отправляю форму с помощью AJAX с погрузочной иконкой, что я имею странный в том, что данные получают сохранить в базе данных, но я получаю сообщение об ошибке 404 в консоли, как ,

jquery.js:9664 POST http://www.example.com/user/save-draft 404 (Not Found) 

Так странно, и значок загрузки никогда не исчезает, что я делаю в функции ajax.done.

Пока мой AJAX вызов что-то подобное,

var postData = {}; 
postData['frmSaveDraft'] = $frmSaveDraft.serialize(); 
startAjaxLoading() 
$.ajax({ 
    url: "http://www.example.com/user/save-draft", 
    type: "POST", 
    data: postData, 
    success: function (data) { 
     alert('success') 
     stopAjaxLoading(); 
    } 
}); 

UPDATE: К сожалению, я пропустил URL в AJAX здесь выше вопрос,

Есть мысли?

+0

Поместите 'stopAjaxLoading();' в 'complete: function() {}' -callback вместо этого. Это заставит загрузчик останавливаться независимо от того, получите ли вы ошибку или нет (успех срабатывает только в том случае, если запрос был успешным, а 404 - нет). Что касается проблемы маршрутизации, я позволю кому-то еще принять это. –

ответ

0

В методе контроллера, я возвращался ответ, как,

echo json_encode(array('response' => true)); exit; 

который был причиной этой проблемы может быть выходом ключевого слова.

Я вернулся ответ, как,

return Response::json(array('response' => true)); 

, который прекрасно работает.

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