JQuery Ajax ,为什么我成功了我有错误为什么?

JQuery Ajax , why in success i have error why?

为什么我成功了却报错?

$('#ck').click(function() {
  var StudentData = [{
    'Name': 'Ali',
    'Age': 27
  }, {
    'Name': 'Sam',
    'Age': 32
  }];

  $.ajax({
    url: "/Home/StudentInfo",
    data: JSON.stringify(StudentData),
    ...
    success: function(response) {
      alert(response[0].Name);
    },
    error: function() {
      alert("error");
    },
  });
});

根据上面过长的评论线程,您声称拥有此服务器端代码:

public JsonResult StudentInfo(List<object> StudentData)
{
    return Json(StudentData);
}

因此,您将 List<object> 返回给您的客户端代码。然后在您的客户端代码中,您尝试访问该列表中元素的 属性:

success: function (response) {
    alert(response[0].Name);
}

嗯,简单来说就是,object doesn't contain a property called Name。它从来没有,而且可能永远不会。因此,您无法访问 不存在 的 属性。因此,它是 JavaScript 中的 undefined

看起来您打算为您的对象定义一个class。就这么简单:

public class Student
{
    public string Name { get; set; }
    public int Age { get; set; }
}

然后你可以在你的操作方法中使用that class:

public JsonResult StudentInfo(List<Student> StudentData)
{
    return Json(StudentData);
}

因为 Student 有一个叫做 Name 的 属性,你可以在你的客户端使用那个 属性代码。