Можно ли включить Ajax в скрипт проверки на стороне клиента (используя ненавязчивую валидацию jQuery в качестве основы) и при этом валидация будет работать правильно?
У меня есть сценарий проверки, в котором клиенту необходимо отправить некоторые введенные пользователем данные на сервер, изучить возвращенные данные и спросить пользователя, хотят ли они, чтобы некоторые из введенных данных были заменены извлеченными данными. Здесь достаточно того, что мне нужен собственный javascript: я не могу просто использовать атрибут Remote, и в атрибуте Remote нет никаких хуков для дополнительной обработки javascript.
Это должно быть выполнено перед отправкой, и оно должно быть последним или одним из последних, выполненных перед отправкой, поэтому я включил его в проверку. Если пользователь отвечает «нет» на вопрос о замене, отправка не происходит, и это напоминает обычную проверку.
Меня беспокоит то, что Ajax по определению является асинхронным, а сценарии проверки обычно, если не всегда, синхронны. Поэтому я сталкиваюсь с необходимостью, чтобы процедура проверки возвращала значение до завершения вызова Ajax.
Я знаю, что могу отключить асинхронное поведение в jQuery для длины вызова jQuery.getJSON, но это немного не элегантно. Это то, что делает клиентская часть MVC3 RemoteAttribute? Есть ли лучший способ?