AJAX删除方法在LARAVEL中添加两个路由参数
AJAX delete method adds two route parameters in LARAVEL
我正在使用 Laravel 删除方法和 AJAX 来删除一个问题,当它删除时它会转到 localhost/upwork_project/questions
,当我点击任何问题的阅读更多按钮时,它包含所有问题URL 看起来像这样 localhost/upwork_project/questions/questions/my-question-slug
并且由于 questions/questions
的双重参数而出现错误 404 not found 但是当我创建问题或编辑它时不添加任何额外参数并且一切正常但是当我删除任何问题时,它会转到问题的索引页面并执行此操作。
我的 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 中完全删除问题并仅使用 slug,因为它附加到当前位置。
我已经解决了这个,AJAX中有一个错误:
if (data == 'question_deleted') {
window.location.href = '../questions';
}
刚改 window.location.href = './';
和 window.location.href = '../questions';
我正在使用 Laravel 删除方法和 AJAX 来删除一个问题,当它删除时它会转到 localhost/upwork_project/questions
,当我点击任何问题的阅读更多按钮时,它包含所有问题URL 看起来像这样 localhost/upwork_project/questions/questions/my-question-slug
并且由于 questions/questions
的双重参数而出现错误 404 not found 但是当我创建问题或编辑它时不添加任何额外参数并且一切正常但是当我删除任何问题时,它会转到问题的索引页面并执行此操作。
我的 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 中完全删除问题并仅使用 slug,因为它附加到当前位置。
我已经解决了这个,AJAX中有一个错误:
if (data == 'question_deleted') {
window.location.href = '../questions';
}
刚改 window.location.href = './';
和 window.location.href = '../questions';