Javascript循环引用异常

时间:2016-10-14 22:09:54

标签: javascript jquery json

我正在尝试使用JQuery.change为视图中的输入更新数据库中记录的description字段。但是,在连接我的客户端代码之后,我现在在尝试对JSON进行字符串化以获得ajax调用时获得循环引用异常。任何帮助将不胜感激。

以下是代码:

 <div class="divTableCell">
                    <label for="CheckRunDescription" id="checkRunDescriptionLabel">Description:</label>
                    <input type="text" id="CheckRunDescription" style="width: 270px;" />

                </div>

JQuery:

$('#CheckRunDescription')
    .change(function() {
        $(this).data("old", $(this).data("new") || "");
        var newDetails = $(this).data("new", $(this).val());
        updateCheckRunDetails(newDetails);
    });


function updateCheckRunDetails(newDetails) {
var checkRunID = $('#checkRunID').val();
var js = JSON.stringify({ checkRunDetails:newDetails, checkRunID:checkRunID });
$.ajax({
    type: "POST",
    contentType: "application/json; charset=utf-8",
    url: './PayInvoicesWS.asmx/UpdateCheckRunDetails',
    data: js,
    dataType: "json",
    success: function (data) {

    },
    error: function (data) {

    }
});
}

1 个答案:

答案 0 :(得分:2)

您正在尝试对jQuery对象进行字符串化。

var newDetails = $(this).data("new", $(this).val());// returns `$(this)`

我猜你想要传递给函数的输入值

尝试

$('#CheckRunDescription')
    .change(function() {
        var newDetails  = $(this).val();
        $(this).data("old", $(this).data("new") || "").data("new", newDetails );          
        updateCheckRunDetails(newDetails);
    });