Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 异常情况下的XMLHTTPRequest状态0_Javascript_Node.js_Ajax_Mongodb - Fatal编程技术网

Javascript 异常情况下的XMLHTTPRequest状态0

Javascript 异常情况下的XMLHTTPRequest状态0,javascript,node.js,ajax,mongodb,Javascript,Node.js,Ajax,Mongodb,我一直在编写一个AJAX脚本,通过Node.JS MongoDB驱动程序执行一些简单的测试操作。这个脚本让我头痛不已,原因如下: 当我在node.js命令提示符下以本机方式运行脚本时,它将运行到完成,并执行我希望它执行的所有操作。在Chrome的Node Inspector中对其活动的完整跟踪显示,它确实按照预期执行 在通过Node Inspector调试脚本之后,我编写了一个简单的测试页面,通过AJAX调用该脚本。尽管注意使用适当的异步回调,但该脚本似乎会使服务器中断一段时间,并返回HTTP状

我一直在编写一个AJAX脚本,通过Node.JS MongoDB驱动程序执行一些简单的测试操作。这个脚本让我头痛不已,原因如下:

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

  • 在通过Node Inspector调试脚本之后,我编写了一个简单的测试页面,通过AJAX调用该脚本。尽管注意使用适当的异步回调,但该脚本似乎会使服务器中断一段时间,并返回HTTP状态代码0

  • 在搜索堆栈溢出以查找类似问题后,我调查的所有线程都发出相同的消息——这是一个CORS问题。但是如果这是一个CORS问题,那么同一目录中的其他AJAX脚本都不会工作,并且可能会返回相同的HTTP状态代码0

  • 启动一个新的、更简单的测试脚本,查看MongoDB连接是否以某种方式干扰了我的node.js服务器,这个新脚本没有触发HTTP状态代码0,而是按预期返回,HTTP状态代码为200。这个新的测试脚本与麻烦脚本驻留在同一目录中,因此它不可能是CORS问题

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

  • 那么,为什么这个one脚本返回的HTTP状态为0,而同一目录中的每个其他脚本返回的HTTP状态为200


    在这一点上,毫无疑问人们会要求我展示代码。然而,有一个小问题。所讨论的脚本有749行,我怀疑[1]如果不在这个问题中嵌入整个代码文件,就不可能找出错误,[2]许多人会因为我这样做而责骂我。脚本在Node Inspector中运行时没有错误这一事实也让人感到困惑。如果有人问我,我可以编辑这个问题并包括所有代码,但鉴于我上面所说的,我不知道从哪里开始找出代码中的错误,因此我无法选择可能有问题的部分,特别是考虑到它运行到完成,没有错误,通过Node.js命令提示符进入节点检查器


    为了防止此问题与平台有关,我在64位Windows 7上运行Node V8.11.3 LTS和MongoDB 4.0。

    “所讨论的脚本有749行长”-该文档介绍了一些缩小问题范围的策略。