【发布时间】:2013-09-07 04:48:34
【问题描述】:
我读过这个其他帖子,但不好:Put data into JSON with Jquery
每当我尝试 JSON.stringify 一个对象数组时,我都会收到一条错误消息:
Uncaught InvalidStateError: An attempt was made to use an object that is not, or is no longer, usable.
这是我的 JS:
var responseItems = [];
var keynoteContainer = $('div.keynote-questions');
var eventQuestionContainer = $('div.event-questions');
var sessionContainer = $('div.session-questions');
var eventId = $('#Evaluation-Event-Id').val();
keynoteContainer.children().each(function (index, el) {
var element = $(el);
var id = "-1";
var parentId = element.find('input[type=hidden]').val();
var parentType = "Keynote";
var responseValue = element.find('.response-item-slider').slider("option", "value");
var responseText = "";
var response = { "Id": id, "EventId": eventId, "ParentId": parentId, "ParentType": parentType, "ResponseValue": responseValue, "ResponseText": responseText };
responseItems.push(response);
});
eventQuestionContainer.children().each(function (index, el) {
var element = $(el);
var id = "-1";
var parentId = element.find('input[type=hidden]').val();
var parentType = "EventQuestion";
var responseValue = element.find('.response-item-slider').slider("option", "value");
var responseText = element.find('textarea').val();
var response = { "Id": id, "EventId": eventId, "ParentId": parentId, "ParentType": parentType, "ResponseValue": responseValue, "ResponseText": responseText };
responseItems.push(response);
});
sessionContainer.children().each(function (index, el) {
var element = $(el);
var id = "-1";
var parentId = element.find('input[type=hidden]').val();
var parentType = "Session";
var responseValue = element.find('.response-item-slider').slider("option", "value");
var responseText = "";
var response = { "Id": id, "EventId": eventId, "ParentId": parentId, "ParentType": parentType, "ResponseValue": responseValue, "ResponseText": responseText };
responseItems.push(response);
});
responseItems = JSON.stringify(responseItems);
我尝试记录所有内容,但它只在我对其进行字符串化的最后一行中断。
我该如何解决这个问题?任何建议或信息都将受到高度赞赏。
【问题讨论】:
-
什么浏览器给你这个错误?
-
听起来像是一个被垃圾收集的跨框架引用。你在用这样的东西吗?
-
@Bergi 嗯?我不认为那是我的帖子。
-
@Bergi 嗯......你可能会在那里做一些事情。我有一个将部分视图(评估项)加载到 DIV 中的页面。然后,我遍历该 div 中的每个项目以构建 responseItems 对象数组。它工作正常(记录了所有内容),直到我得到那个错误的字符串化。
-
@AnimaSola 是
<iframe>中的“部分视图”?由于每个<iframe>都是一个独特的 JavaScript 全局环境,因此当对象在帧之间传递时,可能会发生奇怪的事情。
标签: javascript jquery json stringify