为什么数据会以未定义的形式返回?

时间:2015-10-23 23:18:20

标签: c# json asp.net-web-api

我不明白为什么数据会以未定义的形式返回。它知道那里有东西,但价值没有显示出来。我忘了在主要功能中做点什么吗?提前感谢谁可以解决我的困境。

这是我得到的当前输出: enter image description here

以下是我需要渲染的输出: enter image description here

以下是我的employee.js的代码:

$(function() {
    ajaxCall("Get", "api/employees", "")
    .done(function (data) {
        buildTable(data);
    })
    .fail(function (jqXHR, textStatus, errorThrown) {
        errorRoutine(jqXHR);
    }); // ajaxCall

});

// build initial table 
function buildTable(data) {
    $("#main").empty();
    var bg = false;
    employees = data; // copy to global var
    div = $("<div id=\"employee\" data-toggle=\"modal\"data-target=\"#myModal\" class=\"row trWhite\">");
    div.html("<div class=\"col-lg-12\" id=\"id0\">...Click Here to add</div>");
    div.appendTo($("#main"));
    $.each(data,function(emp){
        var cls = "rowWhite";
        bg ? cls = "rowWhite" : cls = "rowLightGray";
        bg = !bg;
        div = $("<div id=\"" + emp.Id + "\" data-toggle=\"modal\" data-target=\"#myModal\" class=\"row col-lg-12" + cls + "\">");
        var empId = emp.Id;
        div.html(
            "<div class=\"col-xs-4\" id=\"employeetitle" + empId + "\">" + emp.Title + "</div>" +
            "<div class=\"col-xs-4\" id=\"employeefname" + empId + "\">" + emp.Firstname + "</div>" +
            "<div class=\"col-xs-4\" id=\"emplastname" + empId + "\">" + emp.Lastname + "</div>"
            );
        div.appendTo($("#main"));  
    }); // each
} // buildTable


function ajaxCall(type, url, data) {
    return $.ajax({// return the promise that '$.ajax' returns
        type: type,
        url: url,
        data: data,
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        processData: true
    });
}

这是我的Controller方法代码:

// GET api/<controller>
[Route("api/employees")]
public IHttpActionResult Get()
{
    try
    {
        EmployeeViewModel emp = new EmployeeViewModel();
        List<EmployeeViewModel> allEmployees = emp.GetAll();
        return Ok(allEmployees);
    }
    catch(Exception ex)
    {
        return BadRequest("Retrieve failed - " + ex.Message);
    }
}

1 个答案:

答案 0 :(得分:1)

回调的第一个参数是索引,值在第二个参数中:

$.each(data,function(index, emp){