我正在使用带有AJAX的Laravel Delete方法来删除一个问题,当问题被删除时,它会转到localhost/upwork_project/questions
,当我单击任何一个问题的“更多”按钮时,URL都将显示为localhost/upwork_project/questions/questions/my-question-slug
由于questions/questions
的双重参数而导致错误404未找到,但是当我创建问题或对其进行编辑时,请勿添加任何额外的参数,并且一切正常,但是当我删除任何问题时,它将转到问题的索引页面并执行此操作拉屎。
我的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>
答案 0 :(得分:0)
因此,答案是惊讶的,您在网址中缺少/
。
我假设您在/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>
注意网址中的开始/
。
或者只是将问题完全从href中删除,并仅将其附加到当前位置即可。
答案 1 :(得分:0)
我已经解决了这个问题, AJAX 中出现错误,如下:
if (data == 'question_deleted') {
window.location.href = '../questions';
}
只需更改 window.location.href = './';
与 window.location.href = '../questions';