【问题标题】:Angular 2 'Refused to execute from ..' JSONP issue.Angular 2 '拒绝从 .. 执行' JSONP 问题。
【发布时间】:2017-04-21 08:32:41
【问题描述】:

我昨天擦干净了我的 HD 并安装了 Windows 10 专业版。

我安装了 node/npm、git 等,并在我正在 Windows 8.1 下工作的项目上运行了“npm install”(它工作)。

该项目依赖于连接到 Behance.net API 的服务。

当我输入“ng serve”时,控制台中出现错误。

Refused to execute script from 'http://www.behance.net/v2/users/dennisschafer/projects?api_key=myapikey&callback=__ng_jsonp__.__req0.finished' because its MIME type ('application/json') is not executable, and strict MIME type checking is enabled.

EXCEPTION: Response with status: 200 Ok for URL: null

请注意,这个项目昨天在我的其他环境下工作,从那以后我没有接触任何代码。

服务文件如下所示:

import {Injectable} from '@angular/core';
import {Jsonp} from '@angular/http';
import 'rxjs/Rx';

@Injectable()
export class BehanceService{
    private username:string = 'dennisschafer'; // dennisschafer
    private api_key = 'myapikey';

    constructor(private _jsonp: Jsonp) {

    }

    getProjects() {
        return this._jsonp.get('http://www.behance.net/v2/users/'+this.username+'/projects?api_key='+this.api_key+'&callback=JSONP_CALLBACK')
        .map(res => res.json());
    }


}

【问题讨论】:

    标签: json angular jsonp


    【解决方案1】:

    我今天早些时候在我的 AngularJS 1.x 应用程序中遇到了同样的问题。我对这个问题的理解是 Behance Api 没有在 JSONP 请求的 Content-Type 标头中返回正确的 MIME 类型。它目前以application/json 的形式返回,而它应该是application/javascript or text/javascript。该错误来自 Chrome,因为它是一种安全限制,并且拒绝让代码以错误的 MIME 类型运行。我检查了其他一些浏览器,firefox 似乎没问题。所以我认为你没有什么可做的。您可以像我一样提交请求here,希望他们尽快修复。希望这会有所帮助!

    【讨论】:

    • 啊,如果他们在我宕机的 20 小时内改变了一些东西,从不同的操作系统进行升级,那真是太疯狂了。
    • 是的,昨晚它突然开始工作,它正在返回应用程序/javascript。谢谢。
    猜你喜欢
    • 2015-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-14
    • 1970-01-01
    • 2014-12-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多