Skip to content

Instantly share code, notes, and snippets.

@zorgsoft
Created February 17, 2012 13:48
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save zorgsoft/1853530 to your computer and use it in GitHub Desktop.
Save zorgsoft/1853530 to your computer and use it in GitHub Desktop.
Использование jQuery и Ajax в Codeigniter (Урок
<div id="ajax_login">
<form action="">
Login: <input type="text" name="user_login" id="user_login"><br>
Password: <input type="password" name="user_password" id="user_password"><br>
<input type="button" name="send_data" id="send_data" value="Send">
</form>
</div>
<script type="text/javascript">
$('#send_data').live('click', (function(){
// Сначала присваеваем переменным значения из наших полей ввода
// Доступ к полям по их ID
var user_login = $("#user_login").val();
var user_password = $("#user_password").val();
// Это функция запроса ajax, в переменной html
// мы сможем получить обратный текст после обработки
var html = $.ajax({
type: "POST",
// Тут в качестве параметра url мы указываем на
// controller который будет обрабатывать наши данные
url: "<?=base_url()?>user/login",
data: ({
// Перечесляем передаваемые переменные
// Сначала идёт название которое получит controller
// через метод post, следом наша переменная с данными
'user_login' : user_login,
'user_password' : user_password
}),
dataType: "html",
async: false
}).responseText;
// Здесь мы просто перезаписываем div с id="ajax_login" данными
// которые вернул наш controller
$("#ajax_login").empty().append(html);
}));
</script>
<?php
class User extends CI_Controller {
public function login() {
// Тут мы получаем переданные нам данные из предыдущего файла
$userLogin = $this->input->post('user_login');
$userPassword = $this->input->post('user_login');
// Создаём переменную куда будем записывать результат работы
// потом мы его вернём обратно яваскрипту
$returnText = '';
// Делаем простую проверку, замените на свою
if($userLogin != 'admin' and $userPassword != 'password'){
$returnText = '<div sryle="color: red;">Вы ввели неверные данные!</div>';
} else {
$returnText = '<strong>Вы успешно прошли авторизацию!</strong>';
}
// Возвращаем ответ
echo $returnText;
}
}
?>
@alex1c
Copy link

alex1c commented Apr 7, 2015

В последних версиях jqwery надо писать on
$('#send_data').on('click', (function(){

@BeerMan1988
Copy link

Ошибка в файле user.php
$userPassword = $this->input->post('user_login');
должно быть
$userPassword = $this->input->post('user_password');

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment