Публикация Ajax BeginForm для действия, которое возвращает json, IE пытается загрузить его - PullRequest
0 голосов
/ 12 мая 2010

Вот код, который я использую для настройки формы:

        <% using (Ajax.BeginForm("SaveCroppedPhoto", new { Id = Model.memberId.GetValueOrDefault() }, new AjaxOptions
                                                                {
                                                                    OnBegin = "ProfileOnBegin",
                                                                    OnComplete = "ProfileOnComplete",
                                                                    OnFailure = "ProfileOnFailure",
                                                                    OnSuccess = "ProfileOnSuccess"
                                                                }, new { id = "cropPhotoForm" })) {%>

Мой результат действия возвращает результат json следующим образом:

 return Json(new { success });

В IE8, когда действие возвращается, оно пытается загрузить результат. Тип возвращаемого контента - application / json. У кого-нибудь есть идеи, как остановить IE в попытке загрузить результат?

Дополнительная информация: Я только заметил в fiddler, что когда я сохраняю, к действию делается два запроса. Пытаюсь понять это сейчас. Я предполагаю, что это является причиной проблемы.

Ответы [ 2 ]

1 голос
/ 12 мая 2012

Вы должны включить ненавязчивый AJAX через:

<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.min.js")" type="text/javascript"></script>
1 голос
/ 12 мая 2010

Я пытался вызвать $ (frm) .submit (), поэтому он вызывал сообщение ajax плюс обычное сообщение. Вот почему он пытался скачать JSON. Виноват.

Я решил эту проблему, добавив скрытую кнопку отправки в форму и запустив событие click в javascript.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...