zoukankan      html  css  js  c++  java
  • 关于浏览器请求PHP一次请求执行了两次

    测试同学今天又双叒反馈了一个Bug

    继上次解决了重复请求的问题之后,本来就以为可以万事大吉了,没想到我还是太年轻了,测试同学说,不行啊,老哥,你这个我点击了一次创建居然创建出来两条数据!!并且查看日志的时候,确实是发了两次网络请求!!!

    我:?????

    真是让人头秃啊

    排查

    1.先看看是不是JS的问题,我们看一下network跟踪一下,没有啊,这只发送了一个请求,挠头,继续,

    2.好的,我去我的工位上复现一下,在JS处打断点,没有啊,ajax这里只进来一次,好吧,继续查,

    3.好的,把host地址改向测试机,请求,我擦,日志正常,结果也正常是一条数据啊,根本没办法复现啊。

    这。。。It works on my computer ! 这就非常的有趣了,测试同学和我访问的都是同一台测试机,为什么,我创建没问题,他创建就有问题呢。好奇怪,首要之急要解决问题的话,就避免重复请求,在代码里判断一下请求间隔。可是不应该啊,有这么麻烦么?我不死心啊?

    猜想&&解决

    讲道理,没道理一个请求到后边代码会执行两次的,会不会是有个多个进程的原因?我们重启一下NGINX好了,在服务机上执行

    /etc/init.d/nginx resatrt
    

    测试大哥,快执行一下试试,诶,好了耶。

    好的,完美。

    20190128

    不得不来补充点东西

    本来以为就是这样只是进程被卡住的原因,然而并没有,测试大哥后来多次给我反馈,在我还没有说话的时候就回,我重启了,没用!

    好吧好吧,这个问题本来就是我们偷懒了,按说我们是应该在测试服务器上打日志,看一下代码走进来多少次的,额。。。

    后来测试大哥有一次反馈这个问题,我觉得问题实在是严峻到了不得不解决的时候,重新排查,在数次复现无果之后,network也只有一次请求。我回复测试大哥,大哥,要不咱们换个浏览器?

    换一个,OK,没有再重复了。很好,换回chrome,我擦又重复了。

    老哥,检查一下你chrome的插件,好吧,我们打开拓展程序,一个诡异的插件映入眼帘

    页面自动刷新

    我擦,这是什么东西???停掉,快停掉!再试一下,果真没有重复数据的问题了。

    F**king ! ! !

  • 相关阅读:
    【Thinkphp教程】URL路由功能解析
    MYSQL 错误#145解决方法
    【Thinkphp教程】空模块
    【Thinkphp教程】 如何进行模块分组
    mySQL中删除unique key的语法
    使用php让浏览器刷新
    Spring+Jpa整合的过程中遇到的一个问题。。。纠结了我半天。。。
    关于mule studio的应用
    解决eclipse和myeclipse不能编译项目的问题
    ajax fileupload上传组件的使用感悟
  • 原文地址:https://www.cnblogs.com/haorenergou/p/11665034.html
Copyright © 2011-2022 走看看