上半年接手离职同事留下的项目现在出现问题了,需要解决一下。这个项目呢 现在基本就不在开发了平时出现问题了我就解决维护一下,不会再做较大拓展开发。所以对这也是有好多不明白的地方。说实话node我是没学过的,自己也没看过一直在搞java的,这次出现问题就记录一下

一、问题产生位置及现象:

平台SqlServer数据库更新后出现,启动服务器发现平台登录不上去且不报正确还是错误信息就只打印:ERR_EMPTY_RESPONSE

二、排查步骤思路:

1、在程序中精确找到报错位置后发现是ajax请求登录响应出现的,没有进入success方法而是进入了error,紧接着在error方法中打印响应返回的数据

2、error中打印信息如下:

readyState处理状态为0表示:XMLHttpRequest对象还没有完成初始化,status状态同样也为0卧槽没遇到过啊,

3、找度娘为什么会出现readyState=0,status=0这种情况发现各种原因都有,大致总结下:

  • 请求提交冲突:在进行提交的同时用form表单提交了一下又在点击确定按钮绑定点击事件进行了提交,两次提交冲突
  • 跨域问题:请求出现跨域
  • 数据格式出错
  • ajax在调用之前,就已经取消了。也就是说根本没有调用这个ajax请求。
  • url不存在或者 url不可到达

第一种请求提交冲突通过查看代码不存在这种情况,第二种请求跨域查看node服务端代码设置了允许跨域,剩下的三种情况应该也不会存在问题,因为出现登录不了的现象是SqlServer数据库更新后且更新前就可以登录的

4、在readyState=0,status=0上面寻找思路断了,换个思路继续,这次直接点直接找度娘为什么报ERR_EMPTY_RESPONSE

一番查找也是各种原因,大致总结如下:

  • 前端参数涉及sql语句中关键字
  • 在CMD窗口输入如下命令:

for %i in (%windir%\system32\*.dll) do regsvr32.exe /s %i 回车

for %i in(%windir%\system32\*.ocx) do regsvr32.exe /s %i 回车

命令执行完成后重启电脑即可。

  • 浏览器出现内存不能读、写的提示让删除注册表

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellExecuteHooks

这个位置有一个正常的键值{AEB6717E-7E19-11d0-97EE-00C04FD91972}, 将其他的删除。

  • 更改DNS

  • 更改hosts文件

  • 后台请求(连接)数据库失败,导致后台一直没有给前台返回数据

第一种情况不存在传递参数没有涉及sql关键字,第二、三种情况没有进行尝试不懂命令是干嘛的害怕把服务器给搞得雪上加霜,第四、五种情况看了下电脑配置对着的,就剩最后一种情况了 测试一下呗

5、喝杯水撒泡尿还得接着搞,思路是这样的 在node后台登陆接口里面我不进行用户名和密码的校验了就是不用查数据库了,在请求到我接口后我就直接将请求参数给返回出去。哎、这么着你猜怎么着,请求成功了前台并且将打印出了请求参数。我去 这就舒服多了,这说明问题多半出现在了node后台和SqlServer数据库的交互上面。

6、排查node后台和SqlServer数据库之间哪里出了问题,先下载了一个可视化工具安装上连接数据库发现是可以的这说明数据库是可以访问的,这下把注意力放在后台上面主要去排查mssql模块及连接配置上面。查看了配置信息没有错是对的,就去看mssql模块,这下又找度娘发现mssql这里连接数据库并操作是莫有问题的,之后我还重新下载了mssql又试了下还是不行   完了 没招了

7、给之前同事微信上问了下,说让我在控制台看下打印信息都报什么错,因为是接收别人的代码且node也不是特别熟,所以一直不会查看node的打印信息。经过同事的知指导成功查看到node控制台的打印信息,没错就是后台报错说没有连接上数据库,给个图看下

8、因为程序在更新数据库之前一直是可以访问到数据库的,所以在6步哪里判断失误了(判断失误原因:想的是可视化工具都连接上数据库了那数据库应该没啥问题),应该直接查看数据库配置是否有问题的 同事直接说让看sql server 2005 full text search 服务是否启动,果然没有启动然后我去启动报错如下图:

9、果然是干啥都离不开度娘,我有找度娘解决sql server 2005 full text search 服务无法启动问题,解决方式如下:

  • 打开注册表:运行输入:regedit   回车
  • 展开注册表:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\msftesql$SQLSERVER
  • DependOnService的键值:RPCSS NTLMSSP 改为:RPCSS
  • 重启计算机

我先把注册表原先的值保存下了再去更改的,这样除了问题还可以恢复。

10、计算机重启后打开计算机管理中服务选项发现已经启动了,然后就高兴地登录平台,果然白高兴一场登录依旧报错。唉  喝杯水,决定还是把问题定位在数据库配置,这次打开Sql ServerConfiguration Manager就是sql server配置管理器一个一个去查看配置,果然还真的发现问题有个服务中的客户端协议里面的TCP/IP没有启动,在启动之后再次登录就可以了

如果有服务没有启动就有可能导致连接数据库失败,来张配置管理器所有服务的全家福吧

总结:

首先总结一下解决问题的思路发现问题------》定位问题-------》出现问题原因有哪些------》分析可能是那些原因------》逐一排查原因------》解决问题

其次反思解决问题的方法,在我解决这个问题后发现绕了大弯,明明是更新数据库后出现了登录不上去报错的问题为啥我还要在后台上花费时间去找错呢,应该有个比重例如:数据库错误率占80%,后台及前台程序占20%的比重去排查,且优先排查数据库方面具体为数据库配置、连接信息。如果这么做的话可能问题就不会花费这个大的力气了。所以还是自己定位问题的点不够准确和没有过多思考直接查看表面上报错上欠缺,吸取一下这个教训。

希望能给正在遇到这些问题的朋友有所帮助

前台请求报:ERR_EMPTY_RESPONSE错误相关推荐

  1. 前端post请求报400错误

    前端post请求报400错误 发布时间: 2019-06-05 18:28:54 400的错误是由于发送请求参数没有成功 原因:参数名称类型没有对上:或者参数格式不正确 参数格式不正确,解决方法:格式 ...

  2. ajax的post请求出现403错误,如何解决Django中ajax发送post请求报403错误CSRF验证失败的问题...

    如何解决Django中ajax发送post请求报403错误CSRF验证失败的问题 发布时间:2021-02-05 14:23:57 来源:亿速云 阅读:92 作者:小新 这篇文章主要介绍了如何解决Dj ...

  3. SpringBoot中post请求报405错误排坑

    记一次排坑过程. SpringBoot中前端向后端发起post请求,页面提示405错误,方法不被支持. 然后尝试了一下get请求,是完全没问题的. 一开始以为是控制器配置错了,但仔细排查,控制器用的是 ...

  4. 前后端分离,解决Spring Cloud GateWay + Nacos使用lb请求报503错误以及403跨域问题

    在使用前后端分离时,前端请求gateway接口,gateway使用lb负载均衡请求目标服务. 如下: spring:cloud:gateway:routes:- id: test-demouri: l ...

  5. http请求报400错误

    前端请求时,接口报400错误,逻辑没有进后端的断点,甚至连接口都没进,swagger自测可行,那么问题势必出在前端传参上,前端封装的入参肯定和后端定义的入参实体有类型不对应的字段,果然,后端定义的是i ...

  6. android post请求时报415错误,解决微信小程序用 SpringMVC 处理http post时请求报415错误...

    解决微信小程序用 SpringMVC 处理http post时请求返回415错误 写微信小程序时遇到的问题,这个坑硬是让我整了半天 wx.request请求跟ajax相似处理方法一致javascrip ...

  7. jq使用请求报405错误

    前言: 最近在开发一个公司内部项目,因为是内部自己使用,而且需求方要求内存不能太大,所以就不考虑使用Vue或React.思前想后决定使用jq来开发.一来可以满足项目要求,二来还可以练练手,毕竟用久框架 ...

  8. C# .net Core3.1环境 后端请求报 302错误

    今天发现一个接口报错:The remote server returned an error: (302) Bad Request. 分析了一下是调用第三方的时候走auth2认证的流程报错.推测是对方 ...

  9. http请求报400错误的原因分析

    HTTP 400 错误 - 请求无效 (Bad request) 在ajax请求后台数据时有时会报 HTTP 400 错误 - 请求无效 (Bad request);出现这个请求无效报错说明请求没有进 ...

  10. python requests 400错误_「http 400」http请求报400错误的原因分析 - seo实验室

    http 400 http 400 错误 - 请求无效 (Bad request) 在ajax请求后台数据时有时会报 HTTP 400 错误 - 请求无效 (Bad request);出现这个请求无效 ...

最新文章

  1. bash脚本之for语句if语句以及各种测试语句(2)
  2. 希捷硬盘读取固件区数据
  3. DDD领域驱动设计---战略设计(包括四色原型建模)
  4. C++11新特性-容器的cbegin和cend函数
  5. 高能力成熟度软件企业中软件质量工程师的职责
  6. gradle插件 java_简单的Gradle Java插件自定义
  7. 卡尔曼滤波算法-简易版
  8. SPOJ PGCD (mobius反演 + 分块)
  9. mysql sqrt_详解MySQL中的SQRT函数的使用方法
  10. 统计图源代码_openlayers4 入门开发系列结合 echarts4 实现统计图(附源码下载)
  11. 西门子atch指令详解_西门子plc指令详解
  12. 一个很不错的远程软件TeamViewer
  13. 手机版服务器最新的,我的世界手机版服务器ip地址大全(持续更新)
  14. 在任意文件夹下以管理员的身份运行powershell
  15. Angular:失焦校验和失焦方法冲突的解决方案 事件循环
  16. 相关系数pearson、spearman、kendall和R语言中的cor/or.test()
  17. 研究生毕业后工资高多少?
  18. 【报错解决】错误代码18456,SQL Server 登录失败
  19. Windows如何远程连接服务器?Linux服务器如何远程登录?远程连接服务器命令
  20. java生成word 可变表格_【java】Freemarker 动态生成word(带图片表格)

热门文章

  1. HCI 基础知识之一
  2. 国家计算机二级在线报名,23 日起,全国计算机等级考试开始网上报名
  3. 阿里云《云中谁送锦书来》活动 知识问答 答案
  4. CodeCraft-20 (Div. 2) E. Team Building(状压dp)
  5. 推荐 干掉垃圾流氓插件得批处理文件和注册表文件
  6. 基于TCP/IP的展厅智能中控系统
  7. Django笔记十一之外键查询优化select_related和prefetch_related
  8. 几何之父欧几里得的故事
  9. 奥巴马在哥伦比亚大学巴纳德女子学院毕业典礼演讲全文
  10. SATA协议14种FIS介绍