AngularJS TypeError:在Object.stringify(native)将循环结构转换为JSON [英] AngularJS TypeError: Converting circular structure to JSON at Object.stringify (native)
问题描述
我正试图让这段代码正常工作。显然,代码中有一个循环引用,但我找不到它。有人可以帮帮我吗?
I'm trying to get this piece of code working. Apparently, there is a circular reference in the code, but I can't find it. Can someone help me out?
var appjson = '{\"APP_DATA_RETRIEVED\" : \"fail\"}';
var appPostRequest = $.get(appurl, data, appconfig);
appPostRequest.done(function(appdata) {
appjson = JSON.stringify(appdata);
console.log(appjson);
var postResponse = jQuery.parseJSON(appjson);
var postResponse2 = postResponse.Response;
var post = [];
console.log(postResponse2.length);
for (i=0; i<postResponse2.length; i++) {
var data = postResponse2[i];
var dt = new Date(postResponse2[i]['startTime']);
var day = (dt.getMonth() + 1) + '-' + dt.getDate() +
'-' + dt.getFullYear();
if (day == date) {
post = post.concat(data);
console.log(data);
}
}
console.log(post);
$scope.gridOptions8.data = post;
$scope.failchartvisible = true;
$scope.successchartvisible = false;
console.log($scope.gridOptions8.data);
$scope.$apply()
});
推荐答案
你的JSON有问题。如果你复制并粘贴一个笔记本,你就可以看到它。
You have problem at your JSON. If you copy and paste it an notebook you can see it.
服务返回一个错误的对象。在不在浏览器中的文本文档中检查您的服务结果。
Service return a wrong object. Check your service result in a text document not in a browser.
EDİT:
在这个例子中,我创建小提琴,使用 true JSON数据。
In this example i create fiddle which is use true JSON data.
var appdata = {"Response":[{"challenge":"rp6lssenku72b2ppr4gkjb4q92","startTime":"2016-04-26 10:41:46.0","successfullyCompleted":false,"id":1,"username":"bojan1037"},{"chalennge":"ljtqvmk1mcqqqg5m0op0fljnek","startTime":"2016-04-26 10:49:56.0","successfullyCompleted":false,"id":4,"username":"bojan1037"},{"chalennge":"h062sm69lpkib7t3sk4fuppi1v","startTime":"2016-04-26 14:53:31.0","successfullyCompleted":false,"id":10,"username":"bojan1037"}],"Error":""}
var date = 1;
var appjson = JSON.stringify(appdata);
console.log(appjson);
var postResponse = jQuery.parseJSON(appjson);
var postResponse2 = postResponse.Response;
var post = [];
console.log(postResponse2.length);
for (i=0; i<postResponse2.length; i++) {
var data = postResponse2[i];
var dt = new Date(postResponse2[i]['startTime']);
var day = (dt.getMonth() + 1) + '-' + dt.getDate() +
'-' + dt.getFullYear();
if (day == date) {
post = post.concat(data);
console.log(data);
}
}
console.log(post);
https://jsfiddle.net/xnku481d/
在这个例子中,我创建了一个使用错误 JSON数据的小提琴。
In this example i create fiddle which is use wrong JSON data.
var date = 1;
var appdata = {"Response":[{"challenge":"rp6lssenku72b2ppr4gkjb4q92","startTime":"2016-04-26 10:41:46.0","successfullyCompleted":false,"id":1,"username":"bojan1037"},{"chalenge":"ljtqvmk1mcqqqg5m0op0fljnek","startTime":"2016-04-26 10:49:56.0","successfullyCompleted":false,"id":4,"username":"bojan1037"},{"challenge":"h062sm69lpkib7t3sk4fuppi1v","startTime":"2016-04-26 14:53:31.0","successfullyCompleted":false,"id":10,"username":"bojan1037"}],"Error":""}
var appjson = JSON.stringify(appdata);
console.log(appjson);
var postResponse = jQuery.parseJSON(appjson);
var postResponse2 = postResponse.Response;
var post = [];
console.log(postResponse2.length);
for (i=0; i<postResponse2.length; i++) {
var data = postResponse2[i];
var dt = new Date(postResponse2[i]['startTime']);
var day = (dt.getMonth() + 1) + '-' + dt.getDate() +
'-' + dt.getFullYear();
if (day == date) {
post = post.concat(data);
console.log(data);
}
}
console.log(post);
https://jsfiddle.net/xnku481d/1/
您需要控制该数据。这是错误的。
You need to control that data. It is wrong.
这篇关于AngularJS TypeError:在Object.stringify(native)将循环结构转换为JSON的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!