在代码中查找循环对象

时间:2013-07-10 12:58:55

标签: javascript jquery circular-reference cyclic-reference

我正在使用jQuery编写一个脚本,用于将一些内容加载到我的页面中。 在运行时没有任何反应检查Firebug控制台时出现此错误:

TypeError: cyclic object value  
data: JSON.stringify({ columnName: _columnName })

这是代码(放在< Head>内):

<Script>
function changeContent(_columnName) {
        $.ajax({
            type: 'POST',
            url: '@Url.Action("GetContent")',
            data: JSON.stringify({ columnName: _columnName }),
            dataType: 'json',
            contentType: "application/json; charset=utf-8"
        }).done(function (resp) {
            CKEDITOR.instances.text.setData(resp.Text);
        }).fail(function () {
            alert("Error");
        });
    }
    $(function () {
        $("#side-content").bind('click', { a: "side" }, changeContent);
    });
</Script>

我在这里使用了提示:Detecting and fixing circular references in JavaScript但找不到任何循环关系!!!

拯救我生命的任何一点都会受到如此高度的赞赏 - Kamran

1 个答案:

答案 0 :(得分:0)

问题已解决并且理解良好

问题的主要部分是我不知道处理程序的参数是DOM事件。我认为_columnName将接收错误的事件数据。事实上它是DOM事件。

工作代码如下:

<script>
    function changeContent(event) {
        $.ajax({
            type: 'POST',
            url: '@Url.Action("GetHomeColumnContent")',
            data: JSON.stringify({ columnName: event.data.a }),
            dataType: 'json',
            contentType: "application/json; charset=utf-8"
        }).done(function (resp) {
            CKEDITOR.instances.text.setData(resp.Text);
        }).fail(function () {
            alert("Error");
        });
    }
    $(function () {
        $("#side-content").bind('click', { a: 'side' }, changeContent);
    });
</script>

关于循环值: DOM元素本质上是循环的,因为每个DOM元素都有对其父元素的引用,而每个父元素都有对其子元素的引用,因此是循环结构。 / p>

感谢所有朋友的时代:@Dogbert,@ nnnnnn,@ AD7six,@ Xotic750; - )