Angular 4页面在移动设备和Safari中令人耳目一新

时间:2017-10-14 00:44:33

标签: angular safari youtube-data-api

我很难诊断出这个错误,所以我希望有人能指出我正确的方向。

在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

1 个答案:

答案 0 :(得分:3)

正如预期的那样,它不是http调用,而是Angular Material对话框托管了调用的按钮。除非您添加type="button",否则Angular会假设您尝试提交表单并导致页面刷新。

请参阅:https://github.com/angular/material2/issues/2599