首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
V2EX  ›  问与答

单次请求 chrome 会触发两次 不得其解

  •  
  •   mitoop · 2017-02-24 22:17:14 +08:00 · 4997 次点击
    这是一个创建于 1016 天前的主题,其中的信息可能已经有所发展或是发生改变。
    • 调试程序时候,请求一个方法,但是日志里记录总会打印两次 直接在控制器里做日志然后返回 依然如此。语言是 PHP.

    • stackoverflow 类似问题: stackoverflow 传送门

    • 但是我的很明显不是 icon 或者 src=""这样的问题 因为调试时候 直接就返回 不加载这些,插件的原因也尝试了,无痕模式依然如此,在 Safari 和 Firefox 下是正常的。很奇怪。求赐教

    26 回复  |  直到 2018-04-03 16:58:28 +08:00
        1
    mitoop   2017-02-24 22:22:12 +08:00
    求不沉
        2
    qgy18   2017-02-24 23:20:06 +08:00 via iPhone
    禁用所有扩展再试试呢?
        3
    indooorsman   2017-02-24 23:36:01 +08:00 via Android
    贴代码和调试截图啊………
        4
    hxsf   2017-02-24 23:37:52 +08:00
    页面预加载功能导致的 ? 看看其他页面是不是也被请求了
        5
    nfroot   2017-02-24 23:38:22 +08:00
    之前在 cnblogs 也看到这个问题了,是浏览器 BUG
        6
    nfroot   2017-02-24 23:39:24 +08:00
    忘记说了,这样的问题出在 30X 状态码的页面(会 2 次访问这个 URL ,尽管 30X 指向的 URL 是其他地址)
        7
    nfroot   2017-02-24 23:40:40 +08:00
    随手搜了一下 就是这个了

    http://www.cnblogs.com/lyzg/p/6237841.html
        8
    xiaoz   2017-02-25 00:03:59 +08:00 via iPhone
    是不是你鼠标坏了?
        9
    mitoop   2017-02-25 01:19:52 +08:00
    @qgy18 3Q Jerry Qu 尝试过了 在同事电脑也试了下 目测 chrome 要背这个锅
        10
    mitoop   2017-02-25 01:21:21 +08:00
    @indooorsman 好吧 这个似乎不用贴截图吧 因为问题症状很明朗啊
        11
    mitoop   2017-02-25 01:22:22 +08:00
    @hxsf 3Q 之前有看到这个说法 不是很明白
        12
    mitoop   2017-02-25 01:27:35 +08:00
        13
    mitoop   2017-02-25 01:29:07 +08:00
    @xiaoz Big 黑色脸.jpg 这种错误不会的。
        15
    Felldeadbird   2017-02-25 07:11:14 +08:00 via iPhone
    试下在源码默认访问页面看看是否触发 2 次访问。不知道源码默认是什么?当前页面 ctrl + u
    一般这个现象可能是 伪静态没区分好 不存在的资源。浏览器在资源不存在时直接访问了程序。正确的应该是返回 404 状态。
        16
    Felldeadbird   2017-02-25 07:11:51 +08:00 via iPhone
    源码模式…不是源码默认。手机输入法打错了
        17
    solarsolo   2017-02-25 12:28:45 +08:00 via iPad
    我记得开 f12 的网络调试就会发两次,貌似在某个版本修复了
        18
    loy6491   2017-02-25 13:21:11 +08:00 via iPhone
    是在地址栏输入地址了吗, chrome 会提前请求一次以加快访问速度。这个做 web 应该都知道吧,不知道你是不是这个问题
        19
    mitoop   2017-02-27 13:22:36 +08:00
    @Felldeadbird 直接访问的 action 没有到伪静态那一步 我晚上再试试
        20
    mitoop   2017-02-27 13:23:05 +08:00
    @solarsolo 试了下 关闭调试 还是两次
        21
    mitoop   2017-02-27 13:23:25 +08:00
    @loy6491 地址 在地址栏里 就手动刷新一下
        22
    loy6491   2017-02-27 13:31:14 +08:00
    @mitoop 快捷键刷新( F5 或 ⌘R )会请求两次么
        23
    mitoop   2017-02-27 17:20:36 +08:00
    @Felldeadbird @hxsf @indooorsman @loy6491 @nfroot @qgy18 @solarsolo @xiaoz 问题还是 favicon.ico 的事 即使没有加载到页面 chrome 还会去请求 favicon.ico 文件 导致两次记录的问题 本地加了 favicon.ico 这个文件 正常了
        24
    mitoop   2017-02-27 17:21:46 +08:00
    之前粗心了 以为直接到 action 不会去请求 favicon.ico 文件 network 下是有的 只有 chrome 会有这种情况 Safari 和 Firefox 不会。
        25
    sn01615   2017-12-10 20:43:17 +08:00
    是返回的数据长度太小了~
        26
    zohner   2018-04-03 16:58:28 +08:00
    百度搜到这个帖,楼主解决了么,我今天也遇到这个问题,很简单的代码
    ```
    app.get('/webhooks', function(req, res){
    console.log('d')
    res.header('Cache-Control', 'no-cache, no-store, must-revalidate'); // HTTP 1.1
    res.header('Pragma', 'no-cache') // HTTP 1.0
    res.header('Expires', '0'); // Proxies
    res.send("deploy finish")
    })
    ```
    在 chrome 刷新页面都会执行两次,在 firefox 就正常
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   919 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 28ms · UTC 19:47 · PVG 03:47 · LAX 11:47 · JFK 14:47
    ♥ Do have faith in what you're doing.