我对Angular 4 App有疑问。我创建了一个应用程序,其中数据来自第三方API。我得到的问题是我的API多次调用,但我只发送了一次请求。
在一些R& D之后,我发现浏览器正在使用OPTION方法运行航班请求,但在检查了所有API后,我发现它们正在运行多次,除了航班请求。像一个API我要求API一次,它运行4次2次选项和2次GET请求。我检查我的代码,只有一次请求正在运行。
我完全理解并同意航班请求。
我分析了我当地的所有电话,以下是调查结果: 1.所有GET调用都有相应的OPTIONS调用,根据某些artcle不是问题 但是,有多个要求:
http://localhost:3005/tasks?taskID=1713&singular=1 = 4 Get call, 2 OPTIONS call - why?
http://localhost:3003/resources/30/configs = 2 GET call, 1 OPTIONS call - why?
http://localhost:3003/resources/146/configs = 2 GET cal, 1 OPTIONS call - why?
http://localhost:3003/resources/30/settings = 2 GET call, 1 OPTIONS call - why?
http://localhost:3003/resources/146/settings = 2 GET call, 1 OPTIONS call - why?
这是GET多次调用的唯一次数。对于所有其他呼叫,/ environment,/ settings,/ admin,/ currentevent,/ currentshift .. get call只进行一次。
return this.http.get(this.environment.SFDCServiceHost + 'getCurrentEvent?resourceId=' + id + '&singular=1', {headers: this._helperService.setRequestHeader(id)});
答案 0 :(得分:2)
您的代码可能存在一些问题。除了航班请求之外,浏览器不会添加任何额外的请求。要检查这一点,首先要检查该函数调用的时间。我对此非常肯定,因为我遇到了同样的问题。
答案 1 :(得分:0)
这是默认的浏览器功能。每次您运行HTTP请求时,浏览器都会使用您指定的方法运行两次,另一种是针对OPTION方法,其中浏览器会检查该请求是否存在。