我使用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