JNe*_*ens 1 javascript http node.js express pug
我有一些用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
Run Code Online (Sandbox Code Playgroud)
安慰:
GET /publication/view/123 200 490ms - 5623
GET /publication/view/123 304 458ms - -
Run Code Online (Sandbox Code Playgroud)
app.js:
var publication = require('./routes/publication');
app.use('/publication', publication);
Run Code Online (Sandbox Code Playgroud)
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});
});
Run Code Online (Sandbox Code Playgroud)
Leo*_*tny 10
这只是一个假设,但看起来您的浏览器使用某种预测算法甚至在您点击之前预先加载链接.谷歌Chrome做了这样的事情.
Express.js使用304 Not Modified响应回答了第二个响应,表明它是使用有效的ETag值发送的,以验证先前缓存的响应.
尝试在浏览器中禁用网络操作预测.以下是Google Chrome设置中的外观(Settings- > Show advanced settings...):

或者,您可以尝试验证在您实际点击链接之前发送第一个请求,方法是将鼠标悬停在链接上,而不是单击它.
| 归档时间: |
|
| 查看次数: |
1953 次 |
| 最近记录: |