首页 新闻 会员 周边

Jquery在MVC中使用getJSON()获取不到json

0
悬赏园豆:200 [已解决问题] 解决于 2015-10-09 10:25

Controller:

public JsonResult Cars(int id)
        {
            JsonResult res = new JsonResult();
            Cars entity = car.Cars.SingleOrDefault(a => a.CarNo == id);
            res.Data = entity;
            return Json(res, JsonRequestBehavior.AllowGet); 
        }

View:

 <script type="text/javascript">
        $("button").click(function () {
            $.getJSON("/Compare/Cars?id=7", null,function (res) {
                    $("#name").html(res.CarNo);
                });
            });
</script>
<button>获得 JSON 数据</button>
<div id= "name"></div>

不知道为什么,获取不到json,求大神解答一下

鳄鱼与大象的主页 鳄鱼与大象 | 初学一级 | 园豆:22
提问于:2015-10-09 09:29
< >
分享
最佳答案
-2

从给出的代码看应该是按钮单击事件就没绑定上,将按钮单击事件写在$(function(){})里面试下,

 $(function(){ $("button").click(function () {
$.getJSON("/Compare/Cars?id=7", null,function (res) {
$("#name").html(res.CarNo);
});
});
})
收获园豆:150
请叫我头头哥 | 大侠五级 |园豆:9382 | 2015-10-09 09:42
其他回答(5)
2
public JsonResult Cars(int id)
        {
            JsonResult res = new JsonResult();
            Cars entity = car.Cars.SingleOrDefault(a => a.CarNo == id);
            //res.Data = entity;
            return Json(entity, JsonRequestBehavior.AllowGet); 
        }

或者

$("#name").html(res.Data.CarNo);

Poiuyt_cyc | 园豆:24 (初学一级) | 2015-10-09 09:35
1

谷歌浏览器按F12 选择网络请求,查看请求和响应报文,确认问题位置,再想 解决办法.

吴瑞祥 | 园豆:29449 (高人七级) | 2015-10-09 09:41
0

F12查看请求,

1、确实是否发出了请求;是,跳到2;不是,请检查事件绑定

2、查看请求是否返回了必要的数据;是,跳到3;否,检查请求地址或者后台代码;

3、查看数据层级,是否和你写的res.CarNo想匹配;否,修改你的前端JS代码。

收获园豆:35
幻天芒 | 园豆:37175 (高人七级) | 2015-10-09 09:48
0

应该是事件没绑定上,需要用$(function(){...});包裹buttion click事件绑定

收获园豆:15
jello chen | 园豆:7306 (大侠五级) | 2015-10-09 10:22
1

看你Controller 中的实体,你在序列化实体前台应该是 res.data.CarNo。你应该看具体序列化的数据

Charlie Jin | 园豆:205 (菜鸟二级) | 2015-10-10 22:36
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册