【问题标题】:Ajax call ASP.NET MVC + Jquery return "Cannot read property 'Description' of undefined"Ajax 调用 ASP.NET MVC + Jquery 返回“无法读取未定义的属性‘描述’”
【发布时间】:2017-03-01 18:09:35
【问题描述】:

我正在尝试使用 Ajax 获取数据,Ajax 调用工作正常,问题是它正在重新调整“无法读取未定义的属性'描述'”。代码如下:

季度模型

 public class Quarters
 {
    [Key]
    [Display(Name="Code")]
    public Int32 QuarterId { get; set; }
    [Display(Name = "Description")]
    public String Description { get; set; }
 }

月模型

public class Months
{
    [Key]
    [Display(Name = "Code")]
    public Int32 MonthId { get; set; }
    [Display(Name = "Description")]
    public String Description { get; set; }
    public Quarters Quarter { get; set; }
    public Int32 QuarterId { get; set; }
}

控制器

   public JsonResult Months(Quarters q) {
       var query = from c in _context.Months where c.QuarterId == q.QuarterId select c;
       return Json(query);
   }

JS

    $("select[name=quarters]").change(function () {
        var filterData = {
            QuarterId: $("select[name=quarters]").val(),
            Description: $("select[name=quarters]").text()
        }
        $.ajax({
            type: "POST",
            data: filterData,
            url: "/Folder/Controller/Months",
            success: function (data) {
                for (var i = 0; i <= data.length; i++)
                    console.log("Months: " + data[i].Description);
            }

        })
    })

最好的问候

【问题讨论】:

  • 什么是dados[i].Description? dados 没有在你的 JS 代码中定义。我想应该是 data[i].Description。
  • 什么是dados?您提供的代码中没有定义
  • console.log("Months: " + data[i].Description);
  • 对不起,伙计们,我说的是不同的语言,dados 这意味着我的国家语言中的数据。我已经更新了代码,我仍然有同样的错误......
  • 几件值得检查的事情:您是否在您的 MVC 项目中将 SerializerSettings 设置为忽略空值 (NullValueHandling.Ignore)?它是否返回所有其他属性?您在数据库中是否有所有记录的指定 QuarterId 的描述?

标签: javascript ajax asp.net-mvc


【解决方案1】:

data.length返回一个数组的长度,但索引从0开始,所以你想用&lt;替换&lt;=

for (var i = 0; i < data.length; i++)
   console.log("Months: " + data[i].Description);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-09-16
    • 1970-01-01
    • 2022-01-06
    • 2021-07-06
    • 2021-12-13
    • 1970-01-01
    • 2023-03-07
    相关资源
    最近更新 更多