У меня действительно странная ошибка.
В моей локальной среде xampp операция удаления отлично работает, код точно такой же, база данных такая же... И все же на хостинге это не работает.
код:
<!-- Bootstrap core JavaScript
================================================== -->
<!-- Placed at the end of the document so the pages load faster -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
<script src="//cdn.datatables.net/1.10.9/js/jquery.dataTables.min.js"></script>
<script src="https://cdn.datatables.net/1.10.9/js/dataTables.bootstrap.min.js"></script>
<script src="https://cdn.datatables.net/responsive/2.0.0/js/dataTables.responsive.min.js"></script>
<script>
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
</script>
<script type="text/javascript">
var theGrid = null;
$(document).ready(function(){
theGrid = $('#thegrid').DataTable({
"processing": true,
"serverSide": true,
"ordering": true,
"responsive": true,
"ajax": "http://eindeks.000webhostapp.com/przedmioties/grid",
"columnDefs": [
{
"render": function ( data, type, row ) {
return '<a href="#" onclick="location.href='http://eindeks.000webhostapp.com/przedmioties/'+row[0]+''; return false;">'+data+'</a>';
},
"targets": 1
},
{
"render": function ( data, type, row ) {
return '<a href="#" onclick="location.href='http://eindeks.000webhostapp.com/przedmioties/'+row[0]+'/edit'; return false;" class="btn btn-default">Zaktualizuj</a>';
},
"targets": 4 },
{
"render": function ( data, type, row ) {
return '<a href="#" onclick="return doDelete('+row[0]+')" class="btn btn-danger">Usuń</a>';
},
"targets": 4+1
},
]
});
});
function doDelete(id) {
if(confirm('Naprawdę chcesz usunąć ten wpis?')) {
$.ajax({ url: 'http://eindeks.000webhostapp.com/przedmioties/' + id, type: 'DELETE'}).success(function() {
theGrid.ajax.reload();
});
}
return false;
}
</script>
То же самое происходит на локальном конце (например, $.ajax({ url: 'http://localhost/dziennik/public/przedmioties/' + id, type: 'DELETE'})
)
Но, как вы видите, есть Ajax с DataTables, и он хорошо работает как на хостинге, так и на localhost.
Но удаление не работает на моем веб-сайте хостинга.
Почему? Я не знаю, и я не могу понять.
Об этом коде я думаю:
function doDelete(id) {
if(confirm('Naprawdę chcesz usunąć ten wpis?')) {
$.ajax({ url: 'http://eindeks.000webhostapp.com/przedmioties/' + id, type: 'DELETE'}).success(function() {
theGrid.ajax.reload();
});
}
return false;
}
Но на самом деле, это точно то же самое (url different) на моем localhost, в котором он работает. Но на хостинге это не так.
Хорошо, посмотрим на запросы из браузера...
Localhost:
Да, выглядит хорошо, нормально и работает. Ницца!
Но что на хостинге?
Что... Это так странно. Просто, я смотрю на это и понятия не имею, что происходит.
Здесь нет ответа:
И этот запрос xhr не удался:
Ajax-запрос тот же, код тот же, база данных такая же, оба конца маршрута работают... Я не могу понять это.
Итак, в чем проблема?