我正在学习AngularJS。我正在使用bootstrap 3.1.0构建移动优先应用程序。
基本上,我想使用Semantics3 API并在列表中显示产品。当Semantics3的API需要通过OAuth进行身份验证时,我该怎么做。我已经有我的API key
和secret
,但是我不知道如何从我的Angular控制器成功调用该API。
目前,我的代码如下所示:
savvyShop.controller('ProductsCtrl', function($scope) {
$scope.apiResult = $http.get('https://api.semantics3.com/v1/products?q={"cat_id":13658,"brand":"Toshiba","model":"Satellite"}')
});
最佳答案
不幸的是,您将无法从客户端(通过AJAX)执行此操作。这是因为您试图发出跨域请求,所有Javascript引擎都不允许这样做。通常,如果API提供了JSONP端点,则可以使用该端点发出跨域请求。但是,Semantics3没有。
您可以编写一个服务器端脚本,有效地充当客户端和我们的Semantics3服务器之间的代理。基本上,它将传递您发送到我们的URL的所有查询,接收结果,并将其发送给客户端。这样,您可以在AngularJS中使用$ http.get来运行那些查询。