我很难诊断出这个错误,所以我希望有人能指出我正确的方向。
在Angular 4应用中,我正在对YouTube数据API进行http.get调用 - 它在Chrome中运行良好。但是,在Safari中,正在进行刷新。 URL简要地得到一个"?"附加(例如,http://localhost:4444/youtubetest变为http://localhost:4444/youtubetest?)。执行在http.get调用停止,页面/ app刷新。使用Charles Proxy进行监控显示响应(200)为:客户端在收到整个响应之前关闭连接
没有出现错误,页面刷新很快就可以在Safari中重现问题。
在通话失败之前,我拨打了一个可以正常使用的YouTube搜索API:https://www.googleapis.com/youtube/v3/search
会导致这种行为的原因是什么?这不是http调用真正的问题,因为我可以自己运行它(curl)并且它可以工作。所有其他部分似乎都在发生一些事情,但不是发布所有代码,我想知道接下来要尝试什么来诊断问题。
这是执行HTTP调用的代码:
render
答案 0 :(得分:3)
正如预期的那样,它不是http调用,而是Angular Material对话框托管了调用的按钮。除非您添加type="button"
,否则Angular会假设您尝试提交表单并导致页面刷新。