从Controller MVC返回从JSON列表获取值

时间:2012-05-21 18:12:15

标签: javascript json list

我正在返回这样的预订类列表:

public JsonResult GetEvents()
    {List<Common.Booking> lst = new List<Common.Booking>();
        Common.Booking b = new Common.Booking();
        b.Id = Guid.NewGuid();
        b.BeginTime = DateTime.Now;
        b.EndTime = DateTime.Now.AddMinutes(40);
        b.Confirmed = false;
        b.ServiceId = Guid.NewGuid();
        b.Username = "Dirett";

        lst.Add(b);

        return Json(lst, JsonRequestBehavior.AllowGet);
    }

然后从JavaScript我得到列表并将其存储在变量中:

var lstServices;
GetServices();
function GetServices() {
    $.ajax({
        type: "GET",
        url: "/Service/GetServices",
        success: function (result) {
            lstServices = result;
        },
        error: function (req, status, error) {
        }
    });
};

我不确定如何从列表中获取值,例如从列表中获取用户名,ID,ServiceId等。我尝试了不同的方法来获取值,但它们没有成功。任何人都知道如何做到这一点?谢谢!

2 个答案:

答案 0 :(得分:1)

由于您的服务器正在返回json,您需要在jQuery中添加一个额外的参数dataType: "json"

然后,result将被解析为success函数中的JSON对象。我不熟悉您的服务器语言,但您应该能够说result.Id(或lstServices.Id)。

您可以通过在成功函数中编写console.log(lstServices);来查看对象包含的内容,其结果将显示在浏览器的开发人员工具中。

答案 1 :(得分:0)

var lstServices;
GetServices();
function GetServices() {
    $.ajax({
        type: "GET",
        url: "/Service/GetServices",
        success: function (result) {
            lstServices = result;

var id = lstServices.Id;
var beginTime = lstServices.BeginTime;

// print out all properties using:
// console.log( lstServices )

        },
        error: function (req, status, error) {
        }
    });
};