Я думаю, что в основном это вопрос предпочтения, но я думаю, что использование AJAX с jQuery обеспечивает более гибкое и гибкое приложение. Кроме того, это не должно быть больше работы. Для того, чтобы представить все свои свойства модели, которые вы имели в форме к контроллеру вам просто нужно будет сделать что-то вроде:
$.ajax({
url: "SomeController/SomeMethod",
data: $('#FormName').serialize(), //this will basically do what MVC would have done if you used forms and a submit button
});
А на контроллере модель связующий будет связывать все свои свойства обратно к модели ,
Таким образом, вы бы:
public ActionResult SomeMethod(SomeModel someModel)
{
// do work with your tightly bound model!
return View();
}
Но ... если вы просто хотите знать Доводы о AJAX и некоторые из СВОД, что вы также будете сталкиваться то здесь вы:
PRO:
Во многих случаях связанные страницы на веб-сайте состоят из большого количества контента, который является общим между ними. Используя традиционные методы, этот контент необходимо будет перезагрузить по каждому запросу. Однако, используя Ajax, веб-приложение может запрашивать только контент, который необходимо обновить, что резко сокращает использование полосы пропускания и время загрузки.
Использование асинхронных запросов позволяет пользовательскому интерфейсу веб-браузера клиента быть более интерактивным и быстро реагировать на входы, а разделы страниц также могут быть перезагружены по отдельности. Пользователи могут воспринимать приложение более быстрым или более отзывчивым, даже если приложение не изменилось на стороне сервера.
Использование Ajax может уменьшить количество подключений к серверу, так как только сценарии и таблицы стилей нужно запрашивать только один раз.
Состояние может поддерживаться на любом веб-сайте. Переменные JavaScript сохраняются, потому что не нужно перезагружать главную страницу контейнера.
CON:
Благодаря своей динамической природы, интерфейсы Ajax зачастую сложнее развиваться, когда по сравнению со статическими страницами.
Страницы, динамически создаваемые с использованием последовательных запросов Ajax, автоматически не регистрируются в механизме истории браузера, поэтому нажатие кнопки «назад» браузера не может вернуть пользователя в более раннее состояние страницы с поддержкой Ajax, но может вместо этого вернуться их до последней полной страницы, посетившей ее. Методы обхода включают использование невидимых IFrames для запуска изменений в истории браузера и изменения якорной части URL-адреса (после #) при запуске Ajax и отслеживании изменений.
Обновления динамических веб-страниц также затрудняют пользователю возможность закладки определенного состояния приложения. Решения этой проблемы существуют, многие из которых используют идентификатор фрагмента URL-адреса (часть URL-адреса после «#»), чтобы отслеживать и разрешать пользователям возвращаться к приложению в заданном состоянии.
Поскольку большинство веб-сканеров не выполняют JavaScript-код, публично индексируемые веб-приложения должны предоставлять альтернативные средства доступа к контенту, который обычно извлекается с помощью Ajax, чтобы позволить поисковым системам индексировать его.
Любой пользователь, браузер которого не поддерживает JavaScript или XMLHttpRequest, или просто отключил эту функцию, не сможет правильно использовать страницы, зависящие от Ajax. Аналогично, устройства, такие как мобильные телефоны, КПК и устройства чтения с экрана, возможно, не поддерживают требуемые технологии. Считыватели, которые могут использовать Ajax, все еще не смогут правильно прочитать динамически созданный контент. Единственный способ позволить пользователю выполнять функции - это вернуться к методам, отличным от JavaScript. Этого можно добиться, убедившись, что ссылки и формы могут быть правильно решены и не полагаться исключительно на Ajax. В JavaScript представление формы может быть остановлено с «return false».
Такая же политика происхождения предотвращает использование некоторых методов Ajax в разных доменах, хотя W3C имеет проект объекта XMLHttpRequest, который бы включил эту функциональность.
Как и другие веб-технологии, у Ajax есть свой набор уязвимостей, которые должны решать разработчики. Разработчикам, знакомым с другими веб-технологиями, возможно, придется изучить новые методы тестирования и кодирования для написания безопасных приложений Ajax.
Интерфейсы с интерфейсом Ajax могут значительно увеличить количество пользовательских запросов на веб-серверы и их серверы (базы данных или другие). Это может привести к увеличению времени отклика и/или дополнительных потребностей в оборудовании.
what are the advantages and disadvantages of making ajax calls using jquery?