【发布时间】:2015-05-16 23:01:42
【问题描述】:
我有一些用 Jade 编写的代码,里面有一个链接。链接的目的地由 Jade 生成。单击链接时,我从控制台注意到 GET 请求正在执行两次。
这是为什么?我该如何解决这个问题?
这是我的代码:
玉文件:
ul.media-list
each paper in paperList
div.panel.panel-default
div.panel-body
li.media
div.media-left.media-middle
a(href='/publication/view/#{paper.id}')
| Some image
div.media-body
div.btn-group(role='group')
//!!! When this link is being clicked, GET is executed twice !!!
a.btn.btn-default(href='/publication/view/#{paper.id}')
| View
控制台:
GET /publication/view/123 200 490ms - 5623
GET /publication/view/123 304 458ms - -
app.js:
var publication = require('./routes/publication');
app.use('/publication', publication);
publication.js:
var express = require('express');
var router = express.Router();
router.get('/view/:id', function (req, res) {
var data;
//Some database functions here
//Just an example
res.render('publication', {someData: data});
});
【问题讨论】:
-
media-left 和 media-body 是否以某种方式重叠?在这种情况下,两个链接都可能会触发点击事件。
-
不,media-left 和 media-body 是 2 个独立的 div。我刚刚签入了生成的 HTML。
-
router定义在哪里? -
@ExplosionPills 查看我对
publication.js的编辑 -
@JNevens 您可以使用一些虚拟 paper.id 执行 curl 请求
curl {baseURL}/publication/view/#{paper.id},以将问题缩小到前端或后端。还可以尝试记录request.url,在某些情况下会发出一个额外的请求来获取网站图标。
标签: javascript node.js http express pug