Книга: ASP.NET MVC Framework
Реализация на jQuery
Разделы на этой странице:
Реализация на jQuery
Посмотрим, насколько реализация проверки на наличие логина на jQuery отличается от описанной ранее реализации на ASP.NET Ajax. Во-первых, определим гиперссылку для проверки логина пользователя:
<label for="username">Username:</label>
<%= Html.TextBox("username") %>
<%= Html.ValidationMessage("username") %>
<a href="#">Проверить доступность логина</а>
<span></span>
Как можно заметить, определение гиперссылки является простым определением разметки, которая ничем не отличается от обычной. Основная работа ложится на код JavaScript, который представлен далее:
<script type="text/javascript">
$(document).ready(function() {
$("#checkUsername").bind("click",
function() {
var username = $("#username").val();
$("#check_username")
.load("/Account/CheckUsername?username=" + username);
})
});
</script>
Здесь мы объявляем глобальный обработчик, который выполнится после загрузки документа $(document).ready (...)
. В этом обработчике мы задаем поведение для обработки нажатия пользователя на необходимую нам ссылку с идентификатором $("#checkUsername").bind("click", ...)
. В самом обработчике нажатия производятся следующие действия: получается значение введенного пользователем логина и с помощью функции load
производится запрос на сервер для проверки пользовательских данных.
Нетрудно заметить, что в случае с jQuery нам пришлось произвести меньше действий. Во-первых, вместо определения серверного кода с определением Ajax.ActionLink
мы сформировали с помощью HTML-разметки обыкновенную ссылку. Во-вторых, для передачи параметра с пользовательскими данными в случае jQuery нам не пришлось работать с внутренними объектами ASP.NET Ajax, вместо этого мы работали со ссылкой напрямую, сформировав ссылку для запроса обыкновенным сложением строк. И в-третьих, само количество кода для jQuery оказалось меньшим, чем потребовалось написать кода для ASP.NET Ajax.
Примечание
Следует заметить, что передача на сервер пользовательского ввода всегда сопряжена с опасностью. Злоумышленник может ввести в виде текста опасный код, например кусок SQL-кода или JavaScript-кода, который затем, в случае когда не проводится проверка пользовательского ввода, будет исполнен вашим сервером или браузером на компьютерах ваших пользователей. Чтобы избежать этого, необходимо всегда обрабатывать пользовательский ввод и учитывать его потенциальную опасность.
***********************************
- 19 Библиотека jQuery
- 19.4. Обработка событий с помощью библиотеки jQuery
- 19.4.7. Реализация собственных событий
- 19.6. Реализация Ajax в библиотеке jQuery
- 19.6.3. Функция jQuery.ajax()
- 19.8.1. Селекторы jQuery
- Применение Ajax и jQuery в MVC Framework
- Реализация на ASP.NET Ajax
- 9.4.1. Реализация графа в виде матрицы смежности
- Реализация языка SQL
- 19.1.1. Функция jQuery()
- 9.2.1. Более строгая реализация стека