Я использую метод удаления Laravel с AJAX, чтобы удалить вопрос, когда он удаляется, идет к localhost/upwork_project/questions
который содержит все вопросы, когда я нажимаю на кнопку «читать дальше» любого вопроса, URL выглядит следующим образом localhost/upwork_project/questions/questions/my-question-slug
и ошибка 404 не найдена из-за двойного параметра questions/questions
но когда я создаю вопрос или редактирую его, он не добавляет никаких дополнительных параметров, и все работает отлично, но когда я удаляю любой вопрос, он переходит на страницу индекса вопроса и делает это дерьмо.
Мой запрос AJAX:
$.ajax({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
url: $(this).attr('action'),
type: 'DELETE',
success: function(data) {
if (data == 'question_deleted') {
window.location.href = './';
}
else if (data == 'question_deletion_error') {
$('.invalid-feedback').fadeIn('fast');
$('.question_deletion_error').html('Ops! there is an error.')
}
},
});
и мой код кнопки «читать дальше»:
<a href="questions/{{ $question->question_slug }}" class="btn btn-primary btn-sm">Continue Reading</a>
Таким образом, вы будете удивлены, что ответ, вы пропускаете /
в вашем URL.
Я полагаю, у вас есть эти вопросы на /questions
страницы, так что вам нужно будет изменить это:
<a href="questions/{{ $question->question_slug }}" class="btn btn-primary btn-sm">Continue Reading</a>
к этому:
<a href="/questions/{{ $question->question_slug }}" class="btn btn-primary btn-sm">Continue Reading</a>
обратите внимание на начало /
в URL.
Или просто удалите вопросы полностью из href и используйте только слаг, так как он добавляется к текущему местоположению.
Я решил это, есть ошибка в AJAX как:
if (data == 'question_deleted') {
window.location.href = '../questions';
}
Только что изменился window.location.href = './';
с window.location.href = '../questions';