javascript - AngularJS SPA 中 Google Chrome 控制台中的奇怪请求失败

标签 javascript ajax angularjs asp.net-web-api2 single-page-application

我有一个 AngularJS 单页应用程序,用于从 C# Web API 服务发送和检索数据。这两个应用程序都托管在 Amazon Elastic Beanstalk 上。我会定期在 Google Chrome 开发者控制台中收到失败的请求。请求发送至http://singlepageapp.elasticbeanstalk.com/null 。这让我很烦恼,因为我无法弄清楚它的起源。我的应用程序中的所有 Ajax 请求都来自同一个位置,并且始终具有带有“api/”的基本 URI ( http://mywebapi.elasticbeanstalk.com/ ) 以及附加的 Web API Controller 的名称。开发人员控制台显示以下内容:

Request URL:http://singlepageapp.elasticbeanstalk.com/null
Request Method:GET
Status Code:404 Not Found

导致错误的原始请求如下:

GET /null HTTP/1.1
Host: singlepageapp.elasticbeanstalk.com
Connection: keep-alive
Accept-Encoding: identity;q=1, *;q=0
User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36
Accept: */*
Referer: http://singlepageapp.elasticbeanstalk.com/
Accept-Language: en
Range: bytes=0-1244

Chrome 将类型列为“媒体”,将启动器列为“其他”。任何想法将不胜感激。非常感谢。

编辑:我刚刚再次收到错误,并注意到该请求不是针对我的 Web api,而是针对 Elastic beanstalk 单页应用程序。我的逻辑不会对此 URI 发出(直接)请求,所有这些都是由浏览器响应用户单击链接而发起的。在这种情况下,成功保存后,一个“页面”上的“保存”按钮将运行以下命令:

$location.path('/next-page');

正是这个触发了错误的请求。但是,当通过单击菜单中的链接直接访问此 URI 时,不会发生这种情况。

最佳答案

好的,找到问题了。该页面允许用户使用网络摄像头拍照。当他们单击“保存”按钮时,他们将被带到另一个页面。然而,在此发生之前,逻辑会执行以下操作:

video.src = null;

其中“视频”是页面中的以下元素:

<video class="cssimageclass" autoplay></video>

将 src 设置为 null 会发起浏览器请求。删除它解决了问题。

关于javascript - AngularJS SPA 中 Google Chrome 控制台中的奇怪请求失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32367334/

相关文章:

javascript - 将文件上传到 PouchDB/CouchDB

javascript - 访问 iframe 跨源

javascript - 如何在编辑ajax中选择laravel选项

ruby-on-rails - 远程链接中的奇怪下划线参数

javascript - 属性更新时 $scope.$watch 不会触发

javascript - 从任何目录运行 Node.JS 脚本?

javascript - 2018年如何检测浏览器是否离线?

jquery - 如何处理表中动态创建的tr

javascript - 服务调用后删除缓存

javascript - 如何从 AngularJS 的作用域引用变量