c01nd01r
2/17/2012 - 1:48 PM

Использование jQuery и Ajax в Codeigniter (Урок

Использование jQuery и Ajax в Codeigniter (Урок

<?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;
	}
}
?>
<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>