Created
February 17, 2012 13:48
-
-
Save zorgsoft/1853530 to your computer and use it in GitHub Desktop.
Использование jQuery и Ajax в Codeigniter (Урок
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<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> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?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; | |
} | |
} | |
?> |
Ошибка в файле 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
В последних версиях jqwery надо писать on
$('#send_data').on('click', (function(){