异常情况下的XMLHTTPRequest状态0

时间:2018-08-16 09:30:24

标签: javascript node.js ajax mongodb

我一直在研究AJAX脚本,以通过Node.JS MongoDB驱动程序执行一些简单的测试操作。此脚本使我无休止,原因如下:

  1. 当我在node.js命令提示符下本机运行脚本时,它会运行到完成并执行我打算执行的所有操作。在Chrome的Node Inspector中对其活动的完整跟踪显示,它确实确实按预期执行。

  2. 我已经通过Node Inspector调试了脚本,然后编写了一个简单的测试页以通过AJAX调用该脚本。尽管要小心使用适当的异步回调,但是该脚本似乎在服务器上占用了一段时间,并且返回的HTTP状态代码为0。

  3. 已经在Stack Overflow中搜索了类似的问题,我调查的所有线程都发出了相同的消息-这是一个CORS问题。但是...如果这是一个CORS问题,则同一目录中的其他AJAX脚本均无效,并且可能返回相同的HTTP状态代码0。

  4. 创建一个新的,更简单的测试脚本以查看MongoDB连接是否以某种方式干扰了我的node.js服务器,该新脚本并未触发HTTP状态代码0,而是按预期方式返回了HTTP状态代码为200。此新测试脚本与麻烦的脚本位于同一目录中,因此不会成为CORS问题。

  5. 同样,通过AJAX实验性地调用同一目录中的其他脚本会产生相同的结果-所有其他脚本均按预期返回HTTP 200。

因此,为什么此一个脚本返回的HTTP状态为0,而相同目录中的每个其他脚本却返回一个HTTP状态。 HTTP状态为200?

在这一点上,毫无疑问,人们会要求我显示代码。但是,有一个小问题。该脚本的长度为749行,我怀疑[1]如果不在此问题中嵌入整个代码文件就无法查明错误,并且[2]许多人会为此而责备我。脚本在Node Inspector中运行没有错误的事实也使这一问题感到困惑。我可以编辑此问题,并在询问时包括所有代码,但是鉴于以上所述,我不知道从哪里开始查明该代码中的错误,所以我无能为力鉴于它可以在Node Inspector中通过node.js命令提示符运行而没有错误地完成操作,选择可能有问题的部分,尤其是

如果这个问题是特定于平台的,我将在64位Windows 7上运行Node V8.11.3 LTS和MongoDB 4.0。

0 个答案:

没有答案