【问题标题】:Finding a circular object in the code在代码中查找圆形对象
【发布时间】:2013-07-08 10:05:46
【问题描述】:

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

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

这里是代码(放在

里面):
<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,但找不到任何循环关系!!!

任何关于挽救我生命的观点将不胜感激。
- 卡姆兰

【问题讨论】:

  • 您真的想通过 AJAX 发送 DOM 事件对象吗?
  • 要扩展 Dogbert 所说的内容,请尝试 function changeContent(e, _columnName) { ...(要查看当前版本有什么问题,请在函数的第一行添加 console.log(_columnName)。)
  • @Kamran 看看对象是什么(nnnnnn 的评论),您可能会自己回答。
  • @Kamran 或许你可以解释一下为什么要将完整的 DOM 事件对象发送到服务器?

标签: javascript jquery circular-reference cyclic-reference


【解决方案1】:

问题已解决且很好理解

问题的主要部分是我不知道处理程序的参数是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 元素都有对其父元素的引用,而反过来每个父元素都有对其子元素的引用,因此是循环结构。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-28
    • 2012-08-05
    • 2017-04-23
    • 2019-09-23
    相关资源
    最近更新 更多