gpt4 book ai didi

javascript - jQuery : update the database with all of the data from the ajax-request

转载 作者:行者123 更新时间:2023-11-30 12:57:35 25 4
gpt4 key购买 nike

正在尝试更新数据库。

为此我正在这样做

来自js代码

var data = {
"jobid": $('#jobid').val(),
"names": $('#names').val(),
"scripttype": $('#testscripts').val()
};
var msg="";
for(i = 1; i <=4; i++) {
data["Param" + i + "Key"] = $('#key' + i).val();
data["Param" + i + "Value"] = $('#value' + i).val();
}
$.ajax({
type: 'post',
url: "/save",
dataType: "json",
data: data
});

在 node.js 端

jobsCollection.update({
_id: id
}, {
$set: {
names: record.names,
script: record.scripttype,
// i dont know what should i place in this part???
// i have to set paramkey and paramValues
}
},
{
upsert: true
},
function (err, result) {
if (!err) return context.sendJson([], 404);
});

在 record.names 和 record.scripttype 中获取正确的值。

I don't know how to set values got from the for loop for updating

request going

Request: /save
{ jobid: '',
names: 'first',
scripttype: 'fow',
Param1Key: '1',
Param1Value: 'oneeeeee',
Param2Key: '2',
Param2Value: 'twoooooooo'
etc........
............
}

最佳答案

由于属性名称是动态的,您需要使用 JavaScript 的索引器样式属性访问器,如下所示。

基本上把这个过程反过来就行了。我不确定在您调用 update 时数据位于何处,因此我在下面的示例中将其称为 sourceData

// create an object with the well known-property names
var set = {
names : record.names,
script : record.scripttype
};

// now loop through the params and set each one individually
for(i = 1; i <=4; i++) {
var key = "Param" + i + "Key"; // build a key string
set[key] = sourceData[key]; // grab the data and set it
key = "Param" + i + "Value"; // and repeat
set[key] = sourceData[key];
}

然后,将其传递给您的更新:

jobsCollection.update({
_id: id
}, {
$set: set // pass the object created above
}, /* etc. */

如果您不知道Params 的数量,您可以:

  1. 发送
  2. 使用 for .. in 来遍历所有属性

对于#2:

for(var key in sourceData) {         
// you could filter the property names here if you'd like
// (like if only Params# were important)
set[key] = sourceData[key];
}

关于javascript - jQuery : update the database with all of the data from the ajax-request,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18510381/

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