下面是我创建的角度服务,用于通过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绞尽脑汁。任何帮助将不胜感激......
答案 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等中轻松设置响应头。