Javascript 从angular应用程序调用Rest api时出错
下面是我创建的一个angular服务,用于从job search api返回搜索结果:Javascript 从angular应用程序调用Rest api时出错,javascript,angularjs,rest,api,Javascript,Angularjs,Rest,Api,下面是我创建的一个angular服务,用于从job search api返回搜索结果: (function() { "use strict"; angular .module("career.resources") .factory("JobSearchService", ["$http", jobsearchService]); function jobsearchService($http) { r
(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.get("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"
}});
}
}
}());
每次发出此调用http请求时,我都会收到以下错误:
XMLHttpRequest无法加载(url)。请求的资源上不存在“Access Control Allow Origin”标头。因此,不允许源“”访问
既然我有一个api密钥,有没有办法绕过它来获取数据
我还通过$http.jsonp调用尝试了这一点,但没有成功
已更新
我也试图通过$.ajax调用来实现这一点,但这种情况发生在angular的作用域之外,并且数据永远不会保存到scope变量。这应该是一个公开可用的GET API吗?publisherKey/API键可能映射到您的主机名。您可能需要在本地开发环境中使用类似127.0.0.1 localhost.mydomain.com的内容更新主机文件。@deceze否,但我有一个发布者密钥access@Hoyen然后,我是否需要将该地址作为我的“用户ID”传递?@aqwright31 No.在您的浏览器中,而不是您将使用的地址