我有一个 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/