Jquery 有一个;不支持值参数中的循环引用“;与对象一起使用时JSON.stringify()出错
My function创建一个对象并将其发送给另一个函数:Jquery 有一个;不支持值参数中的循环引用“;与对象一起使用时JSON.stringify()出错,jquery,json,ajax,stringify,Jquery,Json,Ajax,Stringify,My function创建一个对象并将其发送给另一个函数: function Function1(){ var id = '@Html.Raw(Model.ID)'; var amount = '@Html.Raw(Model.Amount)'; var desc = '@Html.Raw(Model.Description)'; var data = { ID: id, Amount: amount, Desc: desc }; Function2
function Function1(){
var id = '@Html.Raw(Model.ID)';
var amount = '@Html.Raw(Model.Amount)';
var desc = '@Html.Raw(Model.Description)';
var data = { ID: id, Amount: amount, Desc: desc };
Function2(data)
}
函数2,获取该数据并尝试在使用Ajax
请求发送之前将其字符串化:
function Function2(data){
var URL = this.element.attr("url")
var sendData;
if(data != null){
sendData = JSON.stringify(data);
}
$.ajax(
{
url: URL,
type: 'post',
dataType: "html",
data: sendData,
contentType: 'application/json; charset=utf-8',
success: function (result) {
var dialog = $("#mainWindow").data("kendoWindow");
$("#dataWin").html(result);
dialog.open();
}
})
}
执行JSON.stringify(data)
logic时,我得到一个错误:
不支持值参数中的循环引用
为什么会这样?我做错了什么?检查代码中是否有如下所示的循环引用
var john = new Object();
var mary = new Object();
john.sister = mary;
mary.brother = john;
// This line causes a runtime error.
var error = JSON.stringify(john);
参考资料:我们还需要了解其他代码吗?id、amount和desc的值是多少?如何调用Function1?我仅有的代码是Function2中的
Ajax
调用,它使用dataToSend
和Function1中的参数设置,如var ID='@Html.Raw(Model.ID)
我将更新描述