【发布时间】:2019-02-17 04:48:19
【问题描述】:
我完全迷失了让一些 ajax 表单来工作我的案例场景我想使用一个表单来收集其数据并使用 Express 应用程序将其发布到 MongoDB,出于某种原因,我试图将一组网站传递给数据库,但由于某种原因,它以带引号的字符串形式出现,但它不接受对象数组。
我的代码:
$("#createClients").submit(function(e) {
e.preventDefault();
var formData = new FormData(this);
var siteArr = [];
$(".site").each(function(){
var siteUrl = $(this).val();
var siteObj = {
"site": siteUrl
};
siteArr.push(siteObj);// if I use stringify it returns 2 strings with 2 objects
});//building array of sites from inputs
console.log("Sites Array", siteArr);//Here the array looks right and returns all objects from the inteneration
formData.append('sites', siteArr);
// here I am appending it to the response but it returns like ["{"site":"site.com"},{"site":"site.com"}"]
// for some reason its generating quotes for the objects just like a string !!?!?!?
$.ajax({
url: "/clients/create",
type: "POST",
connection: "keep-alive",
cache: false,
contentType: false,
processData: false,
data: formData,
success: function (data) {
console.log(data);
},
error: function (err) {
console.log(err);
}
});
});// posts new Clients
我的猫鼬模型:
...
sites: [],
...
我的问题:
如果我 JSON.stringify 对象 sites:["{"site": "http://www.site1.com"},{"site":"http://www.site2.co.uk"}"].
如果我将 siteObj 作为数据类型传递,它将返回 sites:["[object Object],[object Object]"] 作为字符串。
我在这里做错了什么?...提前感谢您的回复!
【问题讨论】:
标签: javascript jquery node.js mongodb