在angularjs中将圆形结构转换为json

时间:2016-12-13 14:23:41

标签: 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”错误,第二次插入数据时没有问题。 我无法理解它的问题:为什么会这样?

1 个答案:

答案 0 :(得分:0)

我找到了解决方案: 正常的 $ http帖子或每个 http方法功能,使用选择的方法以 json格式发送数据。
AngularJs在发送数据时应用于Json()函数。 如果数据的一部分包含json无法转换的对象,它将在angularjs' 错误中触发'将循环结构转换为json。
如果你第二次发送它,Angularjs会尝试评估对象并且它成功,那么然后执行查询。

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

他们都可以返回一个对象。 因此,如果您遇到此错误,请检查您发送的数据的每个值,它们可能不是您认为应该是的(我希望有字符串,它会返回一个Object)。 您可以通过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")等方法或使用其他库