<a href="#">
がクリックされた場所でjQuery AJAXコマンドを修正しようとしています。DELETE
という特定のURLに対するリクエストが発生し、新しいページにリダイレクトされます。私のAJAXのDELETE
部分は正常に動作していますが、何らかの理由で成功部分が/app
へのリダイレクトをDELETE
リクエストとして解釈しています。 URLの前に設定したGET
を認識していないようで、デフォルトはDELETE
です。私の方法のどの部分が間違っているかを誰かが助けてくれますか?AJAX DELETEメソッドリダイレクトが機能しない
リンク:
<a href="javascript:void(0);" id="card-delete-link"><span class="glyphicon glyphicon-trash" aria-hidden="true"></span>DELETE</a>
のjQuery:
<script type="text/javascript">
$(document).ready(function() {
$('#card-delete-link').click(function(){
$.ajax({
method: 'DELETE',
url: '/app/edit/{{card.cardId}}',
success: function(){
console.log('Annotation ID: ' + '{{card.cardId}}' + ' was deleted');
$.ajax({
method: 'GET',
url:'/app'
});
}
});
});
</script>
ブラウザコンソール:
jquery.js:8630 DELETE http://localhost:3000/app 404 (Not Found)
ルート:
appRoutes.route('/edit/:cardId')
.delete(function(req, res){
models.Card.destroy({
where: {
userId: req.user.userId,
cardId: req.params.cardId
}
}).then(function(){
res.redirect('/app');
});
});
両方の呼び出しに 'error:'ハンドラを追加してみてください。 – WhiteHat