laravelアプリを本番環境(さくらレンタルサーバー)にデプロイ後、動作確認をしているのですが、
ローカルで正しく動作していたAjax通信の処理が本番では失敗してしまいます。
クエスチョンマークを押すと日付ごとに設置したメモがダイアログとして表示され、削除ボタンをおすとメモが削除されホーム画面(/home)にリダイレクトする仕組みなのですが、本番環境においては作成したメモにたいして削除ボタンを押してもエラーメッセージが表示されてしまいます。
layout.blade.php
1 2 <script> 3 $(function() { 4 5 //上記処理省略↑ 6 7 8 /*モーダルダイアログ*/ 9 $('#Modal').on('show.bs.modal', function(event) { //ID部分をモーダルとして表示させるイベントが発生 10 11 $('.modal-content tr').remove() //li要素をあらかじめ初期化 12 13 var button = $(event.relatedTarget); //モーダルを呼び出すときに使われたボタンを取得 14 15 var date = button.data('day'); //日付を取得 16 var data = button.data('task'); //予定を配列で取得 17 var id = button.data('id'); //予定に付随したidを配列で取得 18 19 var modal = $(this); //モーダルを取得 20 21 $('.modal-title').text(date + '日の予定'); //日付をモーダルに反映 22 23 for (var i = 0; i < data.length; i++) { 24 $('.contents').append('<tr><td>' + data[i] + '</td><td><button type="submit" class="delete" value="削除" data-delete="' + id[i] + '"><i class="fas fa-trash-alt"></i></button></td></tr>'); //予定とidをモーダルに反映 25 } 26 27 /* Ajax で削除機能実装*/ 28 $('.delete').click(function() { 29 //クリックしたボタンのdata属性からidを取得し、同じidを削除する 30 var id = $(this).attr("data-delete"); 31 32 $.ajaxSetup({ 33 headers: { 34 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') 35 } 36 }); 37 38 $.ajax({ 39 url: "/home/month/" + id, 40 type: 'POST', 41 data: { 42 'id': id 43 } 44 }) 45 // Ajaxリクエストが成功した場合 46 .done(function(data, textStatus, jqXHR) { 47 //homeに遷移 48 window.location = '/home'; 49 }) 50 // Ajaxリクエストが失敗した場合 51 .fail(function(data, textStatus, jqXHR) { 52 alert('失敗' + ',textStatus:' + textStatus + ',jqXHR:' + jqXHR); 53 }); 54 }) 55 }) 56 }); 57 </script>
他にあげるべきソースコードがありましたらご指摘ください。
この場合、どこに問題があることが予想されるでしょうか?
おそれいりますが、よろしくお願いいたします。
回答2件
あなたの回答
tips
プレビュー