来自angular app的$ http.jsonp调用返回错误

时间:2016-10-28 19:24:09

标签: javascript angularjs json rest api

下面是我创建的角度服务,用于通过jsonp

从Indeed job search api返回搜索结果
(function() {
"use strict";

angular
    .module("career.resources")
    .factory("JobSearchService", ["$http", jobsearchService]);

    function jobsearchService($http) {
         return{
              getSearchResults: getSearchResults
         };

         function getSearchResults(publisherKey,keywords,location,jobType,limit) {
             return $http.jsonp("http://api.indeed.com/ads/apisearch?", {params: {
                "publisher": publisherKey,
                "v": "2",
                "format": "json",
                "callback": "JSON_CALLBACK",
                "q": keywords,
                "l": location,
                "sort": "",
                "radius": "",
                "st": "",
                "jt": jobType,
                "start": "0",
                "limit": limit,
                "fromage": "",
                "highlight": "1",
                "filter": "1",
                "userip": "1.2.3.4"
            }});
         }
     }
}());

执行此操作时,会抛出此错误:

拒绝从(url)执行脚本,因为其MIME类型('application / json')不可执行,并且启用了严格的MIME类型检查

这个jsonp请求应该返回application / javascript吗?我很困惑。

已更新

我正在用这个FYI绞尽脑汁。任何帮助将不胜感激......

1 个答案:

答案 0 :(得分:0)

在响应中外部设置content-type:application/javascript标头。

严格的MIME类型检查只会在chrome中产生问题..但是,在firefox中运行正常。

检查这个以获得更多参考:

  

Chrome refuses to execute an AJAX script due to wrong MIME type

您可以在Php,Java,Node js等中轻松设置响应头。