拒绝执行来自 URL 的脚本,因为它的 MIME 类型 ('application/json') 不可执行,并且启用了严格的 MIME 类型检查
Refused to execute script from URL because its MIME type ('application/json') is not executable, and strict MIME type checking is enabled
我正在尝试在 Angular 4 Universal 应用程序中从 Google 检索联系人。
但是我在完成身份验证后收到此错误消息:
Refused to execute script from
https://www.google.com/m8/feeds/contacts/default/full?access_token=TOKEN&alt=json
because its MIME type ('application/json') is not executable, and
strict MIME type checking is enabled.
目前一切都在一个组件中:
import { Component, OnInit } from '@angular/core';
import { Jsonp } from '@angular/http';
@Component({
selector: 'refer-friend',
templateUrl: './referFriend.component.html',
})
export class ContactsComponent implements OnInit {
constructor(private jsonp: Jsonp) { }
ngOnInit(): void {
this.auth();
}
auth() {
gapi.auth.authorize({
'client_id': 'CLIENTID.apps.googleusercontent.com',
'scope': 'https://www.google.com/m8/feeds'
}, () => {
this.fetch(gapi.auth.getToken());
});
}
fetch(token: any) {
this.jsonp.get('https://www.google.com/m8/feeds/contacts/default/full?access_token=' + token.access_token + '&alt=json')
.map(data => {
return data;
})
.subscribe(data => {
console.log(data);
});
}
}
我得到了代码 from this sample,它工作正常,没有发生这个错误。所以我只能猜测 Angular 正在影响某些东西....
Google 联系人 API 文档对 alt 标签的工作原理有 link 说明。值 'json' 并不表示它将 return JSONP 数据。 Google return 是 MIME 类型,因为它将提供给您的数据不可执行。
https://developers.google.com/gdata/docs/2.0/reference
尝试使用 @angular/http
标准获取方法而不是 Jsonp
。
我正在尝试在 Angular 4 Universal 应用程序中从 Google 检索联系人。
但是我在完成身份验证后收到此错误消息:
Refused to execute script from https://www.google.com/m8/feeds/contacts/default/full?access_token=TOKEN&alt=json because its MIME type ('application/json') is not executable, and strict MIME type checking is enabled.
目前一切都在一个组件中:
import { Component, OnInit } from '@angular/core';
import { Jsonp } from '@angular/http';
@Component({
selector: 'refer-friend',
templateUrl: './referFriend.component.html',
})
export class ContactsComponent implements OnInit {
constructor(private jsonp: Jsonp) { }
ngOnInit(): void {
this.auth();
}
auth() {
gapi.auth.authorize({
'client_id': 'CLIENTID.apps.googleusercontent.com',
'scope': 'https://www.google.com/m8/feeds'
}, () => {
this.fetch(gapi.auth.getToken());
});
}
fetch(token: any) {
this.jsonp.get('https://www.google.com/m8/feeds/contacts/default/full?access_token=' + token.access_token + '&alt=json')
.map(data => {
return data;
})
.subscribe(data => {
console.log(data);
});
}
}
我得到了代码 from this sample,它工作正常,没有发生这个错误。所以我只能猜测 Angular 正在影响某些东西....
Google 联系人 API 文档对 alt 标签的工作原理有 link 说明。值 'json' 并不表示它将 return JSONP 数据。 Google return 是 MIME 类型,因为它将提供给您的数据不可执行。
https://developers.google.com/gdata/docs/2.0/reference
尝试使用 @angular/http
标准获取方法而不是 Jsonp
。