Вопрос

У меня есть эта ссылка, чтобы реализовать вход AJAX на моей странице:

<%= Ajax.ActionLink("Log On", "LogOn", "Account", new AjaxOptions {
    UpdateTargetId = "lll",
    Confirm = "blah"}) %>

Рядом есть div с идентификатором lll.Когда я нажимаю на ссылку, я получаю подтверждение (просто добавлено для целей отладки, поведение без него такое же), но потом ничего не происходит.Ни один запрос никогда не достигает сервера (потому что у меня есть точка останова в методе действия входа в систему).Это есть в Chrome и IE8.В FF3 он открывает окно входа в систему, но как страницу он не загружается через AJAX.

Есть идеи, что может быть не так?

Это было полезно?

Решение

Проблема заключалась в том, что ссылка на действие ajax по умолчанию отправляет запрос POST, и он был направлен на другой метод входа в систему (тот, который принимает POST), и поэтому я не достигал точки останова. Кроме того, это не удавалось, потому что необходимые данные POST не отправлялся.Добавление HttpMethod в ссылку действия исправило ситуацию:

<%= Ajax.ActionLink("Log On", "LogOn", "Account", new AjaxOptions {
    UpdateTargetId = "lll",
    Confirm = "blah",
    HttpMethod = "Get"}) %>

Другие советы

Похоже, на странице произошла какая-то ошибка javascript, из-за которой вставленный javascript для обработки запроса AJAX не срабатывает.Просматривали ли вы это в FireBug при загрузке страницы, чтобы убедиться, что весь ваш Javascript загружается правильно?Кроме того, соответствуют ли ваши версии библиотек JavaScript Microsoft версии MVC, которую вы используете?Я помню, по крайней мере, один раз в ходе разработки версий, что мне приходилось вручную обновлять версии библиотек Microsoft javascript в моем проекте.Если ваш проект существовал в нескольких версиях MVC, я бы предложил отследить новые библиотеки (создать новый проект и скопировать их в старый или открыть архив проекта в каталоге установки и извлечь их вручную) и установить их. .

Включили ли вы клиентские сценарии ajax в заголовок:

  • MicrosoftMvcAjax.js
  • MicrosoftAjax.js
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top