2010-01-11 6 views
1

J'ai actuellement une méthode du contrôleur qui retourne une JsonResult:jQuery et ASP.NET MVC - Objets 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 }); 
      } 
    } 

Quand je poste ce en utilisant jQuery (.post $), la fonction de rappel est lancé, où je consomme l'objet Json retourné. Je peux imprimer les commentaires, qui apparaît comme

{ « Etat »: « Erreur », « message »: « Entrée non valide »}

Cependant, quand je vais obtenir des pièces individuelles de cela dans le Javascript , en utilisant

alert(data.State); 

Tout ce que j'obtiens de ceci est "indéfini".

Est-ce que quelqu'un a des idées s'il vous plaît?

Cheers,

Chris

Répondre

2

Êtes-vous certain que vous spécifiez "json" comme retour type de données?

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

tirée de la page de documentation jQuery.post.

+0

Merci pour ça! A travaillé un régal. – Chris