У меня есть кнопка для отмены события найма, и в нее включено сообщение с подтверждением, использующее «сладкое оповещение», но затем подтверждающее, что действие не пройдет мимо моего сообщения ajax.
Я попытался проверить URL, если он правильный, но опять же, все URL верны.
Вот моя функция в контроллере:
{
$hiring_id = $this->input->post('key');
$hiring_data = $this->hiring_model->get_hiring($hiring_id);
$return_a = $this->search_model->update_applicant($hiring_data[0]->applicant_id);
$return_b = $this->search_model->cancel_hiring($hiring_id);
if ($return_a > 0 && $return_b > 0) {
echo json_encode(array('ret'=>'1','new_url'=>base_url('partners/hiring')));
}
}
Вот мой код в HTML:
<button type="button" class="btn btn-danger btn-sm m-btn--custom" id="cancel_hiring" data-url="<?php echo base_url('partners/hiring/cancel_hiring/'); ?>" data-key="<?php echo $h->hiring_id;?>">
А вот мой JavaScript:
<script>
$(function(){
$("#cancel_hiring").click(function(e){
Swal.fire({
title: 'Are you sure you want to cancel this hiring?',
text: "You won't be able to revert this!",
type: 'warning',
showCancelButton: true,
confirmButtonColor: '#3085d6',
cancelButtonColor: '#d33',
confirmButtonText: 'Cancel Hiring'
}).then((result) => {
if (result.value) {
console.log($(this).data('url'));
console.log($(this).data('key'));
$.post($(this).data('url'), {key:$(this).data('key')}, function(data) {
console.log(data);
if (data.ret) {
console.log('cancelled');
Swal.fire(
'Success!',
'Hiring cancelled.',
'success'
)
var delay = 1000;
setTimeout(function(){ window.location = data.new_url; }, delay);
} else {
Swal.fire(
'Failed!',
'Error occured.',
'warning'
)
}
}, 'json');
}
})
});
});
</script>