javascript - 在angularjs中将循环结构转换为json

标签 javascript angularjs json

我的 js 函数可以从表单中获取数据

 var dataUpload={};

             dataUpload.p1=$('#p1').combodate('getValue'); //date
             dataUpload.p2=$('#p2').combodate('getValue');//date
             dataUpload.p3=$('#p3').val();                //textarea
             dataUpload.p4=$('#p4').val();                //text input
             dataUpload.p5=Date.now();                    //date  
             dataUpload.p6=1;                             //number
             dataUpload.id=Id;                              //number
           $http.post("url of your route",data).success(function (data)
           {
              console.log("success");
           });

第一次出现“将循环结构转换为json”错误,第二次插入数据没有问题。 我无法理解它的问题:为什么会这样?

最佳答案

我找到了解决方案: 普通的$http post或每个http方法函数,使用所选方法以json格式发送数据。
AngularJs 在发送数据时应用 toJson() 函数。 如果数据的一部分包含 json 无法转换的对象,则会引发“在 angularjs 中将循环结构转换为 json” 错误。
如果您第二次发送它,Angularjs 尝试评估该对象并且成功,那么就会执行查询。

Date.now()                                                
dataUpload.p2=$('#p2').combodate('getValue');//date xeditable 

它们都可以返回一个对象。 因此,如果您遇到此错误,请检查您发送的数据的每个值,它们可能不是您认为应该的值(我希望有字符串,它会返回一个对象)。 您可以通过 console.log 了解您的数据是否是对象:

console.log(data1);  //output : Object obj                             IS AN OBJECT
console.log(data2);  //output : "Answer about it"                      IT'S NOT AN OBJECT

如果输出类似于 data1 那么您必须使用 moment(date).format("YYYY"等方法将数据格式化为您想要的形式-MM-DD hh:mm:ss") 或使用其他库

关于javascript - 在angularjs中将循环结构转换为json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41123439/

相关文章:

java - 在java中将嵌套Json文件转换为CSV

javascript - React useState 不会在窗口事件中更新

javascript - 实现 HTML、CSS 和 JS 之间真正的关注点分离?

javascript - 是什么原因导致这个: Uncaught TypeError: $ is not a function?

angularjs - 具有依赖项的 registerModule

javascript - Controller 作为带有 ng-click 的 vm

angularjs - 带有标签的 Angular UI select2 在自定义指令中不起作用

c# - ASP.NET MVC Ajax Actions 结果封装

javascript - Threejs相机旋转问题

php - MongoDB PHP : How do I get ObjectId with a JSON feed?(它是空白的)