Angular ngResource 句柄 404 api 错误

Angular ngResource handle 404 api error

我有一个RailsAPI

Ex. example.com/v1/portfolio/{{ id }}

我正在使用 AngularJS ngResource 通过 get 处理数据。

myAppServices.factory('Portfolio', ['$resource', function($resource){
    return $resource('api/v1/portfolios/:id/', { id:'@id'}, {
        query: {
            method:'GET', 
            params:{id:'@id'},
            isArray:true
        }
    });
}]);

如果 API 没有条目

,我该如何处理未找到 404 错误

Ex. example.com/v1/portfolio/blabla

我的意思是我怎样才能让它变成 404 就像你输入时一样 http://www.google.com/sdfa 检查网络状态代码你会发现它是 404。

有关更多信息,我正在使用 Prerender.io 服务为搜索引擎呈现网站。

你可以这样使用 $promise:

var resource = $resource('api/v1/portfolios/:id/');

resource.get({id: 123}).$promise.then(function(todo) {
   // success
}, function(errResponse) {
   // handle 404 here
});

您应该使用 prerender-status-code 元标记 return 向抓取工具发送 404。文档在这里:https://prerender.io/documentation/best-practices

基本上,如果页面应该 return 404 到抓取工具,只需添加到页面的 。 Prerender.io 将检测该状态代码并 return 将其发送给抓取工具而不是 200。

如果您对此有任何其他疑问,请随时发送电子邮件至 support@prerender.io。我们很乐意提供帮助!