2012-03-16 42 views
0

我有一个控制器的操作,它将结果作为JSON结果返回(我测试了它,它适用于此操作)。无法在JQuery中调用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?

谢谢并欢迎您提供所有答案。

+0

您是否尝试过运行fiddler以查看从服务器获得的任何响应?你的方法也期待一个ID,但你没有提供一个。 – 2012-03-16 02:16:41

回答

1

你可以用$就在jQuery的,如果这样的

{"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 

        }); 
       } 
      }); 

这是你的JSON格式是参考http://api.jquery.com/jQuery.ajax/

使用,这是参考JSON http://www.json.org/

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

+0

感谢viyancs,你能告诉我,我怎样才能循环数据而不是警报(数据)? – Nothing 2012-03-16 02:02:48

+0

什么json在你的服务器上的结构 – viyancs 2012-03-16 02:03:21

+0

对不起,我只是一个JSON的初学者,我也不知道它的结构是什么,所以我怎么知道它的结构呢? – Nothing 2012-03-16 02:05:49