Getting the error: JavaScript runtime error: Circular reference in value argument not supported

Getting the error: JavaScript runtime error: Circular reference in value argument not supported

尝试通过 javascript 在 ajax 调用中编辑和保存记录时,出现上述主题错误。

我做了一些查找,我唯一能找到的是关于 "compareByIdentity" 属性 的东西,如果是这样的话,我无法在我的情况下实现它。

下面class是一对多的关系。可以有一个 "project" 到许多 "timetrackings"。这是 "TimeTrackings" 的 class,其中 "ProjectID" 是外键。

我正在使用 WCF 应用程序通过 EF 6 检索和编辑数据。这是我第一次在我的应用程序中遇到它。显然,由于建立关系的方式。

有人可以告诉我如何纠正这个错误吗?

namespace YeagerTechDB.Models
{
    using System;
    using System.ComponentModel.DataAnnotations;
    using System.Runtime.Serialization;

    [Serializable, DataContract(IsReference = true)]
    public partial class TimeTracking
    {
        [Key]
        [ScaffoldColumn(false)]
        [Editable(false)]
        [Display(Name = "Tracking ID")]
        [DataMember]
        public int TimeTrackingID { get; set; }

        [Required]
        [Display(Name = "Project ID")]
        [DataMember]
        public short ProjectID { get; set; }

        [Required]
        [DataType(DataType.Date)]
        [DataMember]

        public DateTime StartDate { get; set; }

        [Required]
        [DataType(DataType.Date)]
        [DataMember]

        public DateTime EndDate { get; set; }

        [DataType(DataType.MultilineText)]
        [DataMember]
        public string Notes { get; set; }

        [DataType(DataType.DateTime)]
        [DataMember]
        public DateTime CreatedDate { get; set; }

        [DataType(DataType.DateTime)]
        [DataMember]
        public DateTime? UpdatedDate { get; set; }

        [DataMember]
        public virtual Project Project { get; set; }
    }
}

调试的输出如下。请复制图像并将其粘贴到您最喜欢的图像查看器以获得更好的细节。

请注意,TimeTrackingID 的 value 已正确设置为 1。

问题出在第 66 行的 JSON.stringify

您正在将对象 Tracking_Input 转换为 json。 Tracking_Input.TimeTrackingID 是一个包含 dom 个元素的 jquery 数组,id 为 TimeTrackingID,这不能转换为 json。

你的意思是$('TimeTrackingID').val()匹配其他行