我使用ASP.MVC 1返回對象的IEnumerable(比如汽車)的Json集合:迭代使用JQuery遍歷數據字符串的字符
public class Car : Entity<Car>
{
public virtual string Make { get; set; }
public virtual double Length { get; set; }
public virtual string Colour { get; set; }
}
這樣的:
[AcceptVerbs(HttpVerbs.Post)]
public JsonResult GetRoutes()
{
IEnumerable<Car> cars = _carTask.GetCars();
return Json(cars);
}
在我的網頁,我想遍歷每個車回來了,所以我有這樣的:
$.post("/Home/GetCars", null,
function(cars)
{
alert("type of object returned is " + typeof cars + ", content is " + cars);
$.each(routes, function()
{
alert(this);
});
}
);
當我運行這個,第一個警報b牛說:
類型的對象是字符串,內容是[{「做」:「寶馬」},{「做」:「福特」}]
還告訴我,我得到一個字符串返回(我不應該得到一個對象?),包含一個2對象的Json結構。但是jQuery的$。每個函數然後繼續遍歷字符串中的每個字符,所以我得到46個警報框:第一個說,「[」,然後「{」,那麼「「」,然後‘M’,那麼'一',然後'k'...你有這個想法
從我讀到的,jQuery應該解析這個作爲一個集合,並且應該只重複兩次,以顯示我警報,每個車一個。然後可以做alert(car.Make)來顯示製作,但是如果我嘗試獲取undefined(因爲字符串沒有Make屬性)。是一個明顯的錯誤,但我保證我已經做了第一google搜索的大量的東西就沒有想出了!:)
謝謝,這並獲得成功! – 2009-08-07 19:50:36
我試圖用你的代碼, 集合時有一個元素它的工作。 但是當collecion有多個值時, 回調函數dosnt執行 – Kobi 2014-04-19 17:45:53