Это на самом деле намного проще, чем вы ожидаете ... и вы начнете использовать его повсюду в своих разработках, как только увидите, как это здорово!
Итак, во-первых, мы собираемся использовать jQuery'sвстроенная функция POST.
Создайте функцию в вашем контроллере, к которой вы хотите получить доступ, я предлагаю префикс имени функции с помощью «ajax _»
Итак, вот пример функции контроллера:
function ajax_lookUpUsername(){
$username = $this->input->post('username');
$this->db->where('username', $username);
$query = $this->db->get('accounts');
if ($query->num_rows() > 0){
echo 0;
} else {
echo 1;
}
}
и вот ваша простая функция javascript onclick:
function lookUpUsername(name){
$.post(
'http://yourwebsite/controller/ajax_lookUpUsername',
{ username: name },
function(response) {
if (response == 1) {
alert('username available');
} else {
alert('username taken');
}
}
);
}
второй параметр { username: name }
- это то место, куда пойдут ваши значения поста, здесь термин «имя пользователя» - это ключ, имяэто передаваемое значение. Так что это пара ключ-значение post, которая обычно отправляется с сообщением post.
Переменная response
, передаваемая в функцию обратного вызова, является эхом, возвращаемым вашим контроллером.,Общение стало чрезвычайно простым.
Простота удивительна, хотя я имел дело только с php, возвращающим 0 или 1, вы можете возвращать очень продвинутые объекты json, которыми вы можете управлять всей фронт-программой.
Для получения более сложных ответов вы можете повторить из массива вашего контроллера:
echo json_encode($array_of_data);
, и это вернет вам идеальный набор данных json, который вы можете использовать с любым объектно-ориентированным подходом.Я использую этот повсюду, вы тоже скоро будете уверены:)
Удачи, мужик!Не стесняйтесь обращаться с любыми вопросами о расширении ответов после простого 0 или 1 эхо