Отображение текста результата содержимого из запроса AJAX - PullRequest
0 голосов
/ 15 апреля 2009

У меня есть ссылка Ajax.Action, подключенная к методу post в моем классе контроллера, который возвращает ContentResult. Я могу сделать запрос и получить ответ просто отлично, когда смотрю в таком инструменте, как firebug, но у меня возникают проблемы при попытке получить доступ или сделать что-нибудь с текстом ответа.

В принципе, у меня есть что-то вроде этого в моем контроллере:

public ContentResult RevertToDefault(int id, string default)
{
  /** Update the DB **/

  return Content(default);
}

И это на мой взгляд:

<%= Ajax.ActionLink(
  "Revert",
  "RevertToDefault",
  new { id = Model.MyObject.ID, default = Model.MyObject.DefaultValue },
  new AjaxOptions { OnComplete = "function(r) { alert(r); }" })%>

Прямо сейчас, предупреждение просто возвращается [object Object]. Изменение внесено в базу данных, и я предполагаю, что у меня есть доступ к ContentResult где-то в этом r объекте, но мне трудно найти хорошие примеры / документацию онлайн.

Есть идеи?

Ответы [ 2 ]

1 голос
/ 16 апреля 2009

Да, предыдущий ответ абсолютно верен. Просто сделай это:

<%= Ajax.ActionLink(
  "Revert",
  "RevertToDefault",
  new { id = Model.MyObject.ID, default = Model.MyObject.DefaultValue },
  new AjaxOptions { OnComplete = "function(r) { alert(r.get_data()); }" })%>
1 голос
/ 15 апреля 2009

Насколько мне известно, аргументом обработчика события OnComplete является ajaxContext, поэтому вы можете попробовать ajaxContext.get_response () и получить свой объект ответа или ajaxContext.get_data (), который должен возвращать фактические данные, отправленные в ответ.

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