我的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”错误,第二次插入数据时没有问题。 我无法理解它的问题:为什么会这样?
答案 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")
等方法或使用其他库