美元http.angular应用中的json调用会返回错误

$http.jsonp call from angular app returns errors

本文关键字:调用 返回 错误 json http angular 应用 美元      更新时间:2023-09-26

下面是我创建的一个angular服务,它通过jsonp返回Indeed求职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类型检查

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

我在绞尽脑汁,供你参考。

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

严格的MIME类型检查只会在chrome中产生问题。但是,在firefox中工作得很好。

查看更多ref:

由于MIME类型错误,Chrome拒绝执行AJAX脚本

你可以很容易地设置响应头在Php, Java, Node js等。