Я пытаюсь обновить свою базу данных с помощью AJAX.
Это моя функция ajax
$(document).ready(function() {
$('#submit').click(function (event) {
event.preventDefault();
if($('#category').val()===''){
alert('Please enter a category name.')
}
else{
var category = $('#category').val();
var subcategory = $('#subcategory').val();
alert(category);
alert(subcategory);
$.ajax({
type: "POST",
url: "Admin_controller/insertCategory",
data:{ category:category, subcategory:subcategory },
success: function(data) {
alert('You can now add items.');
}
});
}
});
});
Вот мой Admin_controller
public function insertCategory(){
$category = $this->input->post('category');
$subcategory = $this->input->post('subcategory');
$this->form_validation->set_rules('category', 'Category', 'required');
$this->form_validation->set_rules('subcategory', 'Subcategory', 'required');
if($this->form_validation->run() == FALSE){
$this->load->view('ADMIN_ADDCategory');
}
else{
$category_id = $this->admin_model->insertCategory($category);
$this->admin_model->insertSubcategory($category_id, $subcategory);
}
}
Вот моя модель
function insertCategory($category){
$data = array(
'category' => $category,
'status' => 1
);
$this->db->insert('category', $data);
$this->db->insert('category', $data);
$id = $this->db->insert_id(): //assign the last inserted id to variable $id
return $id;
}
function insertSubcategory($category_id, $subcategory){
$data = array(
'category_id' => $category_id,
'subcategory' => $subcategory,
'status' => 1
);
$this->db->insert('subcategory', $data);
}
Когда я нажимаю кнопку, которая должна запускать функцию AJAX, она показывает alert('You can now add items.');
, но не обновляет мою базу данных моими требуемыми значениями.
я уже пробовал делать
var category = $('#category').val();
var subcategory = $('#subcategory').val();
alert(category);
alert(subcategory);
чтобы посмотреть, получает ли он мои входные данные, и да, это так. После предупреждения он просто обновляет мою страницу.
Что я делаю не так? Спасибо за помощь.