Json导致abc.json文件而不是视图

时间:2017-08-01 07:40:23

标签: jquery asp.net json ajax asp.net-mvc

我第一次练习MVC asp.net,我试图通过Jquery $ .ajax或$ .getJSON方法获取从Controller到View的产品列表,下面是控制器中的函数:

 public ActionResult List()
    {
      Dictionary<string, List<Product>> dict = new Dictionary<string, List<Product>> {{"pList", PList}};
      return Json(dict,JsonRequestBehavior.AllowGet);
    }

和ajax函数是:

 $(window).load(function () {
 $.ajax({
        url: '@Url.Action("List", "Product")',
        type: "GET",
        cache: false,
        success: function (data) {
            $("#div").append("<table><tr><td>ID</td><td>Name</td><td>Description</td><td>Price</td></tr>");
            data.pList.each(function () {
                $("#div").append("<tr>");
                $(this).each(function () {
                    $("#div").append("<td>" + $(this).Id() + "</td>");
                    $("#div").append("<td>" + $(this).Name() + "</td>");
                    $("#div").append("<td>" + $(this).Description() + "</td>");
                    $("#div").append("<td>" + $(this).Price() + "</td>");
                });
                $("#div").append("</tr>");
            });
            $("#div").append("</table>");
        }
    });
});

on loading \ Product \ List它在浏览器上呈现List.json文件,而不是重定向到\ Product \ List并创建动态表,如ajax的success函数所示。我按照许多教程说明了这种方法是正确的。

1 个答案:

答案 0 :(得分:0)

load(function(){  $就({         url:'/ List / product',         类型:“GET”,         cache:false,         成功:函数(数据){             $( “#DIV”)追加 “(IDNameDescriptionPrice”);             data.pList.each(function(){                 $( “#DIV”)追加( “”);                 $(this).each(function(){                     $(“#div”)。append(“”+ $(this).Id()+“”);                     $(“#div”)。append(“”+ $(this).Name()+“”);                     $(“#div”)。append(“”+ $(this).Description()+“”);                     $(“#div”)。append(“”+ $(this).Price()+“”);                 });                 $( “#DIV”)追加( “”);             });             $( “#DIV”)追加( “”);         }     }); });`