无法在Jquery中调用JSON结果

时间:2012-03-16 01:51:45

标签: jquery asp.net-mvc json

我有一个控制器的动作,它将结果作为JSON结果返回。(我准备好了它,它适用于这个动作)。

    public JsonResult GetProductsByDepList(int id)
    {
        JsonResult jr = new JsonResult();
        var _product = from a in DataContext.GetProductsByDep(id)
                       select new { ID = a.ID, ProName = a.Name};

        jr.Data = _product.ToList();
        jr.JsonRequestBehavior = JsonRequestBehavior.AllowGet;
        return jr;
    }

这就是我在视图中循环的内容:

   $(document).ready(function () {
       var urlProduct = '<%: Url.Content("~/") %>' + "Products/GetProductsByDepList";
       $.getJSON(urlProduct, function (dataPro) {
          alert(123);
       });
   });

我只是用警报测试它,但是当我加载页面时它不会发出任何警报。 谁能告诉我如何在jquery中使用控制器的动作?

感谢并欢迎您的所有答案。

1 个答案:

答案 0 :(得分:1)

如果您的json格式如此

,您可以在jquery中使用$ .ajax

{"rows":[{"id":"1","username":"foo"},{"id":"2","username":"bar"}]}

            $.ajax({
                url: urlProduct,
                type:"GET",
                success:function (data) {
                    $.each(data.rows,function(i,rows){
                      alert(rows.username);//will be show username foo and bar

                    });
                }
            });

这是参考http://api.jquery.com/jQuery.ajax/

这是对json http://www.json.org/

的引用

这是库可用于C#http://sourceforge.net/projects/csjson/