2016-07-20 7 views
2

Я получаю ошибку ajax 404 при использовании laravel 5.0 и ajax, и я не могу понять, почему.Laravel ajax 404 не найдена ошибка

Мои маршруты

Route::post('user/saved/ [ 
'as' => 'delete-topics', 
'uses' => '[email protected]',  
]); 

Моя форма

<form action="{{action('[email protected]')}}" method="post" class="deleteform"> 
     <input type="hidden" name="topic_id" value="{{$topic->topic_id}}"> 

     <input type="submit" value="delete"> 
     </form> 

Мой Аякса вызов

// process the form 
$('.deleteform').submit(function(event) { 
event.preventDefault(); 
    var $form = $(this); 


    var formData = { 
    topic_id : $form.find('input[name=topic_id]').val() 
}; 


// process the form 
$.ajax({ 
    type : 'POST', 
    url  : 'saved', 
    data : formData, 
    dataType : 'json', 
    encode : true 
}) 

Мой контроллер

public function deleteTopic() 
{ 

    $topic_id = Request::get('topic_id'); 

    if(Auth::check()) 
    { 
     $user_id = Auth::user()->id; 
    $delete_topic = DB::table('topic_save')->where('user_id', $user_id)->where('topic_id', $topic_id)->delete(); 
    } 


    $data['success'] = true; 
    $data['message'] = 'success'; 
    echo json_encode($data); 
} 

Я попытался изменить URL в Ajax вызова «пользователь/сохраненным», чтобы соответствовать маршруты, но я все еще получаю то же сообщение об ошибке 404

Спасибо, ребята.

+0

Каков URL страницы, на которую вы отправляете форму? – Jonathon

ответ

3

Изменить URL-адрес действия, которое вы установили для формы. Это было бы:

url = $form.attr('action'); 
$.ajax({ 
    type : 'POST', 
    url  : url, 
    data : formData, 
    dataType: 'json', 
    encode : true 
}) 
0

Ваша форма сама по себе действие является некорректным:

<form action="{{action('[email protected]')}}" method="post" class="deleteform"> 

вместо этого использовать:

action="route_path" 
2

вы можете просто удалить свойство действия с вашей формы, потому что вы не 't использовать форму submit, а затем изменить ajax следующим образом:

$.ajax({ 
    type : 'POST', 
    url  : "{{ route('delete-topics') }}", 
    data : formData, 
    dataType: 'json', 
    encode : true 
})