У меня есть кнопка на моей странице, когда я нажимаю на эту кнопку, она перенаправляет меня на эту ссылку readMessage/id
.Функция Ajax не работает в CodeIgniter
Я хочу, когда я нажму на него, чтобы остаться на той же странице, я не хочу, чтобы моя страница была перезагружена или что-то еще.
Ссылка readMessage/id
будет обновлять базу данных, которая является функцией в контроллере:
function readMessage($id) {
$this->message_module->readMessage($id);
$this->index();
}
Эта функция будет вызывать функцию readMessage
в message
модулы:
Это моя кнопка :
<button class="testButton" data-id="<?php echo $message->id; ?>">Test</button>
An d это код, который я пробовал:
$('.testButton').click(function(){
// get jquery object access to the button
var $thisButton = $(this);
var form_data = {
id : $thisButton.data('id')
}
$.ajax({
url:'<?php echo base_url;?>messages/readMessage',
type:'GET',
data: form_data,
success:function(d){
alert(d);
}
});
});
Но это не работает.
Если кто-то может показать мне, как это сделать, я буду благодарен.
Edit 1:
Я изменил код Ajax, и он работал, я могу видеть теперь окно предупреждения, который находится в success
attribut:
$('.testButton').click(function(){
$.ajax({
url:"<?php echo site_url('messages/readMessage'); ?>",
type:'GET',
data: {id : $(this).data('id')},
success:function(d){
alert(d);
}
});
});
Я думаю, что URL после того, как это будет: messages/readMessage?id=myId
, но в CodeIgniter это должно быть: messages/readMessage/myId
, поэтому он не работает.
Я сделал тест, давая id
вручную:
url:"<?php echo site_url('messages/readMessage/5'); ?>"
И это сработало.
Теперь мне нужно знать, как согласовать это значение $(this).data('id')
с url
, потому что, когда я пробовал это: url:"<?php echo site_url('messages/readMessage/" + $(this).data('id') + "'); ?>"
, он не сработал.
проверить на панели консоли консоли Chrome.any ошибки? – Arunu
Нет, ошибки нет. –
@Arunu, пожалуйста, проверьте изменение, которое я сделал. –