Bloomapi, XMLHttpRequest не может загрузить
В настоящее время я использую API на www.bloomapi.com с AngularJS и продолжаю получать этот отказ:
XMLHttpRequest не может загрузить http://www.bloomapi.com/api/search?limit=1&offset=0&key1=npi&op1=eq&value1=1861733537. В запрошенном ресурсе отсутствует заголовок "Access-Control-Allow-Origin". Поэтому происхождение ' http://localhost/' не разрешено.
Я не уверен, является ли проблема специфичной для BloomAPI (например, нужен ли мне ключ API или что-то в этом роде) или что-то не так с моим вызовом API.
Это мой код...
ФАБРИКА:
.factory('ProviderService', ['$resource', function($resource) {
return $resource('http://www.bloomapi.com/api/search?limit=1&offset=0&key1=npi&op1=eq&value1=:npi',
{npi:'@npi'}
)}
])
ДИСПЕТЧЕР:
ProviderService.get({npi:'1861733537'}, function(res) {
$scope.providerNPI = res.id;
$scope.providerName = res.result.last_name;
console.log($scope.providerName);
});
Большое спасибо!
1 ответ
Исходя из ошибки, похоже, что AngularJS по умолчанию использует CORS для $resource
Запросы. BloomAPI в настоящее время не поддерживает CORS, но поддерживает JSONP.
Я никогда не делал JSONP в AngularJS раньше, но нашел несколько многообещающих ресурсов, таких как http://www.bennadel.com/blog/2610-using-jsonp-with-resource-in-angularjs.htm которые могут помочь решить проблема.
Дайте мне знать, если по какой-то причине это не работает с вашим сценарием, и я был бы рад взглянуть на внедрение CORS в BloomAPI раньше, чем позже.