【问题标题】:Cannot call the JSON result in Jquery无法在 Jquery 中调用 JSON 结果
【发布时间】:2012-03-16 01:51:45
【问题描述】:

我有一个控制器的动作,它以 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中使用控制器的Action??

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

【问题讨论】:

  • 您是否尝试过运行 fiddler 以查看是否从服务器获得任何响应?此外,您的方法需要一个 id,但您没有提供一个。

标签: jquery asp.net-mvc json


【解决方案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/

【讨论】:

  • 感谢 viyancs,您能否告诉我,如何循环数据而不是警报(数据)?
  • 你的服务器中json的结构是什么
  • 对不起,我只是一个JSON的初学者,我也不知道它的结构是什么,那我怎么知道它的结构呢?
  • 好的,我在回答中举了json的结构示例,你可以这样尝试。:)
  • urlProduct 的响应是什么?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-19
  • 1970-01-01
  • 2019-05-28
  • 1970-01-01
  • 2011-04-10
  • 1970-01-01
相关资源
最近更新 更多