Метод удаления AJAX добавляет два параметра маршрута в LARAVEL - PullRequest
0 голосов
/ 21 декабря 2018

Я использую метод удаления 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>

Ответы [ 2 ]

0 голосов
/ 21 декабря 2018

Я решил это , в AJAX есть ошибка:

if (data == 'question_deleted') {
    window.location.href = '../questions';
}

Только что изменилось window.location.href = './'; с window.location.href = '../questions';

0 голосов
/ 21 декабря 2018

Таким образом, вы будете удивлены, что ответ, вам не хватает / в вашем 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 и используйте слагтолько при добавлении к текущему местоположению.

...