У меня есть несколько строк данных, заполненных с использованием данных базы данных во время выполнения. Каждая строка имеет кнопку. При нажатии кнопки я хочу удалить эту строку из базы данных. Я положил на эту кнопку data-id
. При нажатии кнопки отправьте запрос ajax на php. Но я получаю null
id в php. Следующий код, который я использую.
HTMLcodeigniter input-> post() is null from jquery ajax post request
<span id="delete_btn" class="btn btn-default" data-id="<?php echo $id; ?>">
<i class="glyph-icon icon-close"> Delete</i>
</span>
JavaScript
$('#feedbackTable').on('click', '#delete_btn', function (event) {
var client_id = $(this).data('id');
console.log(client_id); // I get the exact id
$.ajax({
url: url + 'client/delete',
type: 'POST',
data: {'id' : client_id},
dataType: 'json',
async: false,
cache: false,
contentType: false,
processData: false,
error: function (error_data) {
console.log(error_data);
},
success: function (data) {
console.log(data);
}
});
return false;
});
Client.php
public function delete_client() {
if ($this->input->method(TRUE) == 'POST') {
$id = $this->input->post('id');
if (is_numeric($id)) {
$id = intval($id);
echo json_encode(array(
"is_error" => false,
"message" => $id
));
return;
} else {
echo json_encode(array(
"is_error" => true,
"message" => $id
));
return;
}
} else {
echo json_encode(array(
"is_error" => true,
"message" => "Invalid request"
));
return;
}
}
консоли JavaScript выводит идентификатор пользователя. но асинхронность ответ консольных печатает
Object {is_error: true, message: null}
, что я делаю неправильно? Извините за моего бедного английского. ТИА
вы использовали 'delete' метод в AJAX, но ваше имя метода' delete_client'. Откорректируйте все эти вещи, а затем проверьте мой ответ. –
Я отправил из 'delete' в' delete_client' в 'route.php' без какой-либо конкретной причины. – ARiF