2014-10-04 105 views
0

我嘗試從控制器操作獲取Json結果。Json數據 - 未定義

我認爲一個具有Ajax.ActionLink

@Ajax.ActionLink("Aggiungi riga", "Step2", new AjaxOptions { Url = Url.Action("RitornaRigheJson"), OnSuccess = "processData" }) 

向控制器I有

public JsonResult RitornaRigheJson() 
{ 
    RigaFattura data = new RigaFattura(); 
    data.Descrizione = "Json"; 
    data.nriga = 1; 
    return Json(data, JsonRequestBehavior.AllowGet); 
} 
產生JSON對象

。我測試了Action RitornaRigheJson並查看了正確的輸出。

現在的問題是OnSuccess =「processData」。進入視野我有一個JavaScript類

<script type="text/javascript"> 
    function processData(data) 
    { 
    alert(data) 
    var a = data[0]; 
    alert(a); 
    } 
</script> 

,但數據的值始終爲「不確定」

+0

'console.log(data);' – zerkms 2014-10-04 11:05:08

+0

該對象是未定義的。謝謝 – 2014-10-04 12:35:44

回答

0

我解決了。 問題是控制器。我把它改成

public JsonResult RitornaRigheJson() 
    { 
    RigaFattura[] elenco = {new RigaFattura{nriga = 1,Descrizione="Prova Riga"}}; 
    IEnumerable<RigaFattura> data = elenco;      
    return Json(data, JsonRequestBehavior.AllowGet); 
    }