var selectFormula = $(htmlContainer).find("ins").map(function (i, el) {
return {
fName: $(el).attr("data-record-name"),
fID: $(el).attr("data-record-id"),
fContent: $(el).text()
}
//fContent: $(htmlContainer).each(function () { if (!$(this).text().trim().length) { $(this).remove(); } }),
});
//keep
//var selFormInner = $(htmlContainer).find("ins").map(function (i, el) { return {
// fName: $(htmlContainer).find("ins[data-record-name]"),
// fID: $(htmlContainer).find("ins[data-record-id]"),
// fContent: $(htmlContainer).find("ins").each(function () { if (!$(this).text().trim().length) { $(this).remove(); } })
//}
//}); //inner content (array)
if (selectFormula /*&& selFormInner.length*/) {
// Get formula HTML from server
$.postJSON(formulaUrl, {
//name: selFormName.map(function () {
// return $(this).data('record-name');
//}).toArray(),
////return information on the corresponding record id
//recordID: selFormID.map(function () {
// return $(this).data('record-id');
//}).toArray(),
//return infmoration on the corresponding content of ins.
//formula: selFormInner.map(function () {
// return $(this);
//}).toArray()
formula: selectFormula };
这是我的脚本文件(所有javascript)的一部分,它要求使用简写的$ .postJSON执行服务器端方法。我一直在讨论这个“将循环结构转换为JSON”它发生在这一行:'data':包含postJSON脚本文件中的JSON.stringify(data)。
我的问题主要集中在圆形结构上。这可能是错的,但我认为它很可能是指我在顶部声明的变量selectFormula。什么是这个结构的循环?我已经做了一些阅读,人们得到了相同的错误,但他们的例子似乎比我的更明显,一个对象指的是自己等。
我传递给服务器的这个JSON数据有一个在c#中以类似方式创建的结构,但这并不重要,因为它没有命中我的服务器端方法,这个错误都是客户端。正如你可以看到很多我注释掉的代码,我已经尝试了很多东西。当然所有这些都是错的!
提前感谢任何见解。
答案 0 :(得分:0)
在我的例子中,将结构转换为数组会停止循环结构错误。 Jquery的:.toArray()方法。然后,我所要做的就是编辑我的服务器端方法参数以匹配。无论如何,如果有人试图解决这个问题,谢谢!