从jQuery ajax调用中获取项目

时间:2014-06-30 15:10:53

标签: jquery ajax asp.net-mvc json

我正在尝试学习jQuery Ajax / Json。我试图让服务器从文件中返回一组objets。电话已经成功,但没有任何对象(或者我不明白如何获得它们)。即使我可以看到控制器方法返回json文件中的所有对象,似乎返回零对象。

以下是包含所有json对象的代码:http://pastebin.com/86dpFa2W

// JAVASCRIPT

$.ajax({
    url: "/Home/GetFriends",
    contentType: "application/json; charset=utf-8",

    dataType: "json",
    success: getFriendsSuccess,
    error: getFriendsError,
}).done(function (data) {
    if( jQuery.isEmptyObject(data)){
                alert('empty');
            } else {
                alert('not empty');
            }
    alert(' wuhuuu ' + data.length);
});

// MVC CONTROLLER

  public JsonResult GetFriends()
        {
        var friends = new List<Friend>();
        var json = System.IO.File.ReadAllText(HttpContext.Server.MapPath("~/content/friends.json"));

        var playerList = JsonConvert.DeserializeObject<List<Friend>>(json);
        return Json(friends, JsonRequestBehavior.AllowGet);
    }

1 个答案:

答案 0 :(得分:2)

您只是将错误的变量传递给Json方法。

尝试将最后一行更改为:

return Json(playerList, JsonRequestBehavior.AllowGet);