我正在做一个Angular 5的内部项目。在这里,我们尝试对PCF环境中存在的一个URL进行Http GET调用。在进行此呼叫时,我收到以下控制台消息:
OPTIONS https://riskassessmentidtypes.px-npe01.com/customer-credit/ 0 ()
进度事件:{isTrusted: true,lengthComputable: false,已加载: 0,总计: 0,类型:“错误”,…}
我的代码: processrequest.component.ts
this.httpService.getDetails(url, data).subscribe(
res => {
this.loading = false;
console.log("response-----" + res);
this.serviceresponsetime = new Date().getTime() - startFrom;
},
error => {
this.loading = false;
console.log(error);
this.serviceresponsetime = new Date().getTime() - startFrom;
//util.parseServiceResponse(error, false);
//this.responseData = util.responseData;
}
);
http.service.ts
@Injectable()
export class HttpService {
data: any;
headers = new Headers();
constructor(private http: Http) {
this.headers.append('Content-Type', "application/json");
this.headers.append('Accept', "application/json");
this.headers.append('senderid', "dsd");
this.headers.append('applicationid', "adsd");
this.headers.append('servicetransactionid', "asds");
this.headers.append('channelid', "asdsd");
}
// get service call
getDetails(url, params) {
console.log("http service - inside getDetails function");
let options = new RequestOptions();
options.headers = this.headers;
if (params) {
options.params = params;
}
return this.http.get(url, options)
.map((response) => response.json())
.catch((error: any) => Observable.throw(error.json() || 'server error'));
}
在此之前非常感谢。因为我是Angular的新手,所以我被困在这里。请在下面找到错误:
OPTIONS https://riskassessmentidtypes.px-npe01.com/customer-credit/ 0 ()
scheduleTask @ polyfills.bundle.js:5050
webpackJsonp.../../../../zone.js/dist/zone.js.ZoneDelegate.scheduleTask @ polyfills.bundle.js:2488
onScheduleTask @ polyfills.bundle.js:2378
webpackJsonp.../../../../zone.js/dist/zone.js.ZoneDelegate.scheduleTask @ polyfills.bundle.js:2482
webpackJsonp.../../../../zone.js/dist/zone.js.Zone.scheduleTask @ polyfills.bundle.js:2313
webpackJsonp.../../../../zone.js/dist/zone.js.Zone.scheduleMacroTask @ polyfills.bundle.js:2336
scheduleMacroTaskWithCurrentZone @ polyfills.bundle.js:3195
(anonymous) @ polyfills.bundle.js:5082
proto.(anonymous function) @ polyfills.bundle.js:3475
(anonymous) @ vendor.bundle.js:108570
webpackJsonp.../../../../rxjs/_esm5/Observable.js.Observable._trySubscribe @ vendor.bundle.js:2604
webpackJsonp.../../../../rxjs/_esm5/Observable.js.Observable.subscribe @ vendor.bundle.js:2592
webpackJsonp.../../../../rxjs/_esm5/operators/map.js.MapOperator.call @ vendor.bundle.js:20860
webpackJsonp.../../../../rxjs/_esm5/Observable.js.Observable.subscribe @ vendor.bundle.js:2589
webpackJsonp.../../../../rxjs/_esm5/operators/catchError.js.CatchOperator.call @ vendor.bundle.js:17393
webpackJsonp.../../../../rxjs/_esm5/Observable.js.Observable.subscribe @ vendor.bundle.js:2589
webpackJsonp.../../../../../src/app/processrequest/processrequest.component.ts.ProcessrequestComponent.onSubmit @ main.bundle.js:749
(anonymous) @ ProcessrequestComponent.html:59
handleEvent @ vendor.bundle.js:92877
callWithDebugContext @ vendor.bundle.js:94386
debugHandleEvent @ vendor.bundle.js:93973
dispatchEvent @ vendor.bundle.js:89292
(anonymous) @ vendor.bundle.js:89917
(anonymous) @ vendor.bundle.js:113109
webpackJsonp.../../../../zone.js/dist/zone.js.ZoneDelegate.invokeTask @ polyfills.bundle.js:2502
onInvokeTask @ vendor.bundle.js:84039
webpackJsonp.../../../../zone.js/dist/zone.js.ZoneDelegate.invokeTask @ polyfills.bundle.js:2501
webpackJsonp.../../../../zone.js/dist/zone.js.Zone.runTask @ polyfills.bundle.js:2269
webpackJsonp.../../../../zone.js/dist/zone.js.ZoneTask.invokeTask @ polyfills.bundle.js:2577
invokeTask @ polyfills.bundle.js:3621
globalZoneAwareCallback @ polyfills.bundle.js:3647
main.bundle.js:755 ProgressEvent {isTrusted: true, lengthComputable: false, loaded: 0, total: 0, type: "error", …}
发布于 2018-06-21 01:48:01
据我所知,很多浏览器都会在发送其他请求之前发送option请求。你可以在你的浏览器开发工具中经常观察到这种行为。据我所知,这不是一个角度问题,而是一个浏览器问题。
发布于 2018-06-30 05:40:20
我在目标springboot微服务的端点方法级别使用@CrossOrigin解决了这个问题。
我们也可以在控制器类中使用它。
https://stackoverflow.com/questions/50954112
复制相似问题