2010-01-11 3 views
1

Я в настоящее время метод контроллера, который возвращает JsonResult:JQuery и ASP.NET MVC - JSON объектов

public JsonResult EditField(int FieldID, string FieldValue) 
    { 
      var f = ManagerProvider.GetFieldManager(); 
      try 
      { 
       f.UpdateField(FieldID, FieldValue); 
       return Json(new { State = "Success", Message = "Success"}); 
      } 
      catch (Exception ex) 
      { 
       return Json(new { State = "Error", Message = ex.Message }); 
      } 
    } 

Когда я после этого с помощью JQuery ($ .post), функция обратного вызова инициируется, где я уничтожить возвращенный объект Json. Я могу распечатать обратную связь, которая появляется как

{ «Государство»: «Ошибка», «Сообщение»: «Неверный ввод»}

Однако, когда я иду, чтобы получить отдельные части этого в Javascript , используя

alert(data.State); 

Все, что я получаю от этого, является «неопределенным».

У вас есть идеи, пожалуйста?

Приветствия,

Chris

ответ

2

Действительно ли Вы уверены, что вы указываете "json" как тип возврата данных?

$.postJSON = function(url, data, callback) { 
    $.post(url, data, callback, "json"); 
}; 

Взятые со страницы jQuery.post документации.

+0

Спасибо за это! Работал. – Chris

-1

Вы пробовали с помощью метода JQuery getJSON:

http://docs.jquery.com/Ajax/jQuery.getJSON

+0

Это будет выполнять операцию GET вместо POST. –

+0

Достаточно честный. Должен был прочитать вопрос. – Paddy

Смежные вопросы