2012-08-03 39 views
0

如何從使用Ajax的模型中獲取值並將這些值分配給客戶端上的數組?從MVC3模型獲取值以傳遞Ajax並在數組中分配

這裏是我的控制器

public ActionResult Oku() 
{ 
    var query = from table in db.news where table.image_name select table; 
    return Json(query,JsonRequestBehavior.AllowGet); 
} 

我的Ajax腳本是:

$.ajax({ 
    type: "get", 
    url: "Home/Oku", 
    data: {}, 
    dataType: "json", 
     // Some codes to assign array 
    } 
}); 

感謝您的幫助

回答

0

數據從操作返回已在陣列格式,因爲查詢結果是一個IEnumerable。

您需要在ajax中實現成功回調。

$(function() { 
     $.ajax({ 
      type: "get", url: "Home/Oku", data: {}, dataType: "json", 
      success: function (data) { 
       alert(data[0]) 
      } 
     }); 
    }) 
+0

感謝您的幫助 – 2012-08-04 18:39:00

0

我會使用JsonResult而不是一個ActionResult。

這裏有一個Tutorial

+0

實際上'ActionResult'是'JsonResult'的基礎。如果你用'ActionResult'返回'Json({..})',它仍然可以工作。 – Terry 2012-08-03 16:41:49

+0

很高興知道...我想我仍然會使用它來編碼清晰。 – 2012-08-03 17:05:46

+0

雅有一種情況,我發現它使用通用的'ActionResult'有用。如果你有一個方法可能返回一個'JsonResult'或可能返回其他東西('ViewResult','RedirectResult'等),以防萬一出現錯誤或某些特殊情況。 – Terry 2012-08-03 17:16:35

1

只需在您的Ajax調用中實現success回調。你也不需要指定get,這是默認行爲。

$.ajax({ 
    url: "Home/Oku", 
    dataType: "json", 
    success: function(resp) {    
     // do something with resp object which is an array 
    } 
}); 
相關問題