gpt4 book ai didi

javascript - 在 POST 正文中发送一个数组

转载 作者:行者123 更新时间:2023-11-30 09:50:34 25 4
gpt4 key购买 nike

我正在尝试通过 AJAX POST 请求将数组发送到我的 Node/MongoDB 服务器。主体还包含其他变量。这是客户端JS代码:

function setupForm(){
$("#add").submit(function(event) {
event.preventDefault();
var name = $("#name").val();
var logo = $("#logo").val();
var phone = $("#phone").val();
var email = $("#email").val();
var address = $("#address").val();
var postcode = $("#postcode").val();
var openingHours = $("#openingHours").val();
var loc = [44, 44];

$.ajax({
type: "POST",
url: "http://localhost:3000/services",
data: "name=" + name + "&logo=" + logo + "&phone=" + phone + "&email=" + email + "&address=" + address + "&postcode="+ postcode +"&openingHours=" + openingHours + "&loc=" + loc,
success: function(){alert('success');}
});
});
}

这是服务器端代码:

exports.addWine = function(req, res) {
var wine = req.body;
console.log('Adding wine: ' + JSON.stringify(wine));
db.collection('services', function(err, collection) {
collection.insert(wine, {safe:true}, function(err, result) {
if (err) {
res.send({'error':'An error has occurred'});
} else {
console.log('Success: ' + JSON.stringify(result[0]));
res.send(result[0]);
}
});
});
}

它以这种格式将其添加到数据库中。我想把它放在一个数组中:

"postcode" : "ugh",
"openingHours" : "fhgfh",
"loc" : "44,44"

最佳答案

如前所述,使用 serializeArray() .要添加额外参数,只需将其附加到数组,如下所示。

function setupForm(){
$("#add").submit(function(event) {
event.preventDefault();

var data = $(this).serializeArray();
// add extra parameters (don't forget brackets)
data.push({ name: 'loc[]', value: 44 });
data.push({ name: 'loc[]', value: 44 });

$.ajax({
type: "POST",
url: "http://localhost:3000/services",
data: data,
success: function() {
alert('success');
}
});
});
}

如果你想继续使用你构建查询字符串的方法,你必须添加 &loc[]=44&loc[]=44 但从长远来看最好只使用序列化函数之一。

关于javascript - 在 POST 正文中发送一个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36780590/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com