Ваш код Js обычно должен выглядеть примерно так:
$(document).on('click', '#myFormSubmit', function(event) {
event.preventDefault();
var id = $('#hiddenInputThatHasMyID').val();
var blah = 'blah';
var blahblah = 'blahblah',
// I expect you to already know how to get the above vars or you can search an learn how to retrieve them, its not the purpose of your question here.
// You can serialize your form like this
// var data = $('form#myForm').serialize();
// Or create it manually like this
var data = {id:id, blah:blah, blahblah:blahblah};
$.ajax({
url: "<?= site_url('controller/method') ?>",
method: 'POST',
data: data,
dataType:'JSON',
success: function(response) {
console.log(response);
},
error: function(response) {
console.log(response);
}
});
});
Это отправит ваши данные на этот controller/method
и получит от них ответ, поэтому в методе вашего контроллера вы можете подождать этого:
public function method()
{
$id = $this->input->post('id');
$blah = $this->input->post('blah');
$blahblah = $this->input->post('blahblah');
// Do your magic here and return vars
$data['ret_var1'] = 'val1';
$data['ret_var2'] = 'val2';
// echo your data
header('Content-Type: application/json');
echo json_encode($data);
}
Теперь в своем ответе на ajax вы можете использовать свои переменные следующим образом:
var var1 = response.var1; // val1
var var2 = response.var2; // val2
Надеюсь, это достаточно ясно.
Примечания:
Всегда используйте URL, как это url: "<?= site_url('controller/method') ?>"