【发布时间】:2018-01-31 17:53:14
【问题描述】:
我有一个问题,当有人添加标签而不是整个页面时,我只需要更新网页的一部分。
哈巴狗前端:
h2 Labels
each labelName in label
h4 #{(JSON.stringify(labelName)).substr(1).slice(41, -1).replace(/['"]+/g, '')}
h2 Add a label
form(action='/labeling/#{name}/add_label', method='post', id='insertLabel')
label(for='insertLabel ') Add label
input(type='text', value='', name='label', id='insertLabel')
button(type="submit") submit
点击提交会发出一个post请求,这里的中间件会处理这个请求
router.post('/labeling/:stream_name/add_label', function (req, res, next) {
overallTime = '00:00:15'
labelName = req.body.label
db_label.insertLabel(labelName, overallTime)
db_label.findLabels((err, labels) => {
if (err) {
return res.sendStatus(500)
}
res.redirect('/labeling/' + outputName)
})
insertLabel将labelName和overallTime插入到mongoDB中,findLabel带回相关集合中存储了哪些标签,结果如下所示
[ { _id: 5a7201d8a6a06f1627ad75ba, label: 'moo: 00:00:16' },
{ _id: 5a7201e9a6a06f1627ad75bb, label: 'moo2: 00:00:26' } ]
但我在我得到的所有信息中迷失了方向。在这种情况下,我应该使用 Jquery/Ajax,只使用 Ajax、Axios 还是 vanilla Javascript?
【问题讨论】:
-
您需要根据标签中的数据更新网页的哪个部分?是
h2 labels和底层代码吗? -
只是 h2 标签部分“ h2 标签标签 h4 中的每个 labelName #{(JSON.stringify(labelName)).substr(1).slice(41, -1).replace(/[' "]+/g, '')}"
-
您必须使用 ajax 调用并根据响应更新页面,或者如果它不需要来自服务器的响应,您可以使用脚本 (JavaScript) 来更新 DOM .
-
确保您的控制器正在发送响应数据,而不是重定向到页面或刀片视图。
-
@dasacodec 我很难将我从 html 得到的答案翻译成哈巴狗,你的评论很有帮助,我会在解决这个问题后发布更新
标签: javascript jquery ajax mongodb pug