gpt4 book ai didi

jquery - Express .map 函数不返回值

转载 作者:行者123 更新时间:2023-12-03 22:18:53 25 4
gpt4 key购买 nike

我的 View 文件中有一些 jquery,我想在其中获取名称为 discoverySource 的各个字段的所有值.由于堆栈用户的一些帮助,解决方案是使用 lodash模块,然后将数组映射为单独的值,以适本地用于我的 sequelize BulkCreate 函数。使用我当前的帖子设置,.map 方法会根据填写的字段数量在我的数据库中正确创建单独的行,但由于某种原因,这些值没有被传递。我不确定发生这种情况的原因,因为 body-parser 的值是正确的,并且在设置的变量之外的任何地方都正确记录了这些值。我在每个 console.log 旁边进行了评论,以显示返回的值。我的问题是我收到 undefined[object Object]对于 map 方法。网站 1、网站 2、网站 3,是我对这些字段的测试值

这是我的路线:

.post(function(req, res){
console.log(req.body.discoverySource); //[ 'Website 1', 'Website 2', 'Website 3' ]

var sources = _.map(req.body.discoverySource, function (source) {
return {
discoverySource: source,
organizationId: req.body.organizationId
};
});
console.log("These are the" + sources); //These are the[object Object],[object Object],[object Object]

console.log(sources.discoverySource); //undefined
console.log(sources.organizationId); //undefined
models.DiscoverySource.bulkCreate(sources)
.then(function(){
return models.DiscoverySource.findAll();
}).then(function(discoverySource){
console.log(discoverySource);
res.redirect('/app');
}).catch(function(error){
res.send(error);
console.log('Error during Post: ' + error);
});
});

这是我的看法:
<!DOCTYPE html>

<head>
{{> head}}
</head>

<body>
{{> navigation}}
<div class="container">
<div class="col-md-6 col-md-offset-3">
<form action="/app/sign-up/organization" method="post">
<p>{{user.email}}</p>
<input type="hidden" name="admin" value="{{user.email}}">
<input type="hidden" name="organizationId">
<label for="sign-up-organization">Test Name</label>
<input type="text" class="form-control" id="sign-up-organization" name="organizationName" value="" placeholder="Company/Organization">
<a href="#" id="sign-up-add-discovery-source">Add Another</a>
<div id="sign-up-organization-discovery-source">
<input type="text" id="discovery-source-field" placeholder="Discovery Source" name="discoverySource[0]">
</div>
<br />
<button type="submit">Submit</button>
</form>
<a href="/login">Already have an account? Login here!</a>
</div>
</div>
<script type="text/javascript">
$(function() {
var dataSourceField = $('#sign-up-organization-discovery-source');
var i = $('#sign-up-organization-discovery-source p').size();
var sourceCounter = 1;

$('#sign-up-add-discovery-source').on('click', function() {
$('<p><label for="discovery-source-field"><input type="text" id="discovery-source-field" size="20" name="discoverySource[{' + sourceCounter+++'}]" value="" placeholder="Discovery Source" /></label> <a href="#" class="remove">Remove</a></p>').appendTo(dataSourceField);
i++;
return false;
});
$('#sign-up-organization-discovery-source').on('click', '.remove', function() {
if (i > 1) {
$(this).parent('p').remove();
i--;
}
return false;
});
});
</script>
</body>

最佳答案

使用 bulkCreate() 您需要直接传递数组。

models.DiscoverySource.bulkCreate(sources)

模式是:
Model.bulkCreate(<array_of_values);

如此处所述: http://sequelize.readthedocs.org/en/latest/api/model/#bulkcreaterecords-options-promisearrayinstance

关于jquery - Express .map 函数不返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35280335/

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