Angular 4页面在手机和Safari中令人耳目一新
问题描述:
我很难诊断这个错误,所以我希望有人能指引我朝着正确的方向前进。Angular 4页面在手机和Safari中令人耳目一新
在Angular 4应用程序中,我正在对YouTube数据API进行http.get调用 - 它在Chrome中一切正常。但是,在Safari中,刷新正在发生。该URL简要地获得“?” (例如,http://localhost:4444/youtubetest变成http://localhost:4444/youtubetest?)。执行停止在http.get调用并刷新页面/应用程序。与Charles Proxy一起进行的监控显示,响应(200)是:在收到整个响应之前客户端已关闭连接
没有错误出现,并且页面刷新很快发生我可以在Safari中重新编写问题。
失败了,我正在打电话到YouTube搜索API工作正常通话之前:https://www.googleapis.com/youtube/v3/search
什么会导致这样的行为?这不是http调用的问题,因为我可以自己运行它(卷曲)并且它可以工作。似乎有所有其他部分正在发生,但不是发布所有代码,我想知道下一步要尝试什么来诊断问题。
下面是执行HTTP调用的代码:
url: 'https://www.googleapis.com/youtube/v3/videos',
idKey: 'videoId',
method: 'GET',
...
return this.http.get(this.url, options)
.map(response => response.json())
.catch(this.handleError)
.do(res => {
// This does not run...
console.log('returned video details');
});
答
正如预期的那样,它不是HTTP调用,它是托管进行呼叫的按钮角材料对话框。除非您添加type="button"
,否则Angular会假设您正在尝试提交表单并导致页面刷新。