虽然服务器正确返回,但Angular $资源收到错误

时间:2016-03-24 13:42:45

标签: angularjs mongodb mongoose angular-resource

我试图通过Express,Mongoose和Angular $resource从MongoDB服务器检索JSON数据。虽然服务器显然返回正确的数据,但总是调用错误函数并显示奇怪的错误。

这是(某种程度上)控制器:

.controller('DefaultContentController',
    ['$scope',
    '$location',
    'pageFactory',
    function($scope, $location, pageFactory) {
        var path = $location.path().split('/');

        pageFactory.getPages().get({slug:path[1]})
            .$promise.then(
               function(response) {
                   console.log(response);
               },
               function(response) {
                   console.log("Error: " +  response.status);
                   console.log("Status text: " + response.statusText);
               }
            );
        }])

pageFactory.getPages定义为

        this.getPages = function(){
            return $resource("http://localhost:3000/pages/:slug", {});
        };

使用评估为packages标记的位置执行此操作会产生以下结果:

  • 浏览器控制台中没有JavaScript错误或其他任何内容
  • 我在控制台中的自定义错误输出:
    Error: -1
    Status text:
  • 服务器在其日志输出中报告GET /pages/packages 200 2.683 ms - 303

如果我在浏览器中输入该位置,则会显示正确的JSON响应,因此显然服务器本身正常工作。原始响应(由Firefox HttpRequrester扩展记录)是

GET http://localhost:3000/pages/packages

 -- response --
200 OK
X-Powered-By:  Express
Content-Type:  application/json; charset=utf-8
Content-Length:  305
Etag:  W/"131-BTgYonvS22Ju7nZNcmxv0w"
Date:  Thu, 24 Mar 2016 12:44:43 GMT

[{"_id":"56f3c58ebbea0d5a0e39630a","updatedAt":"2016-03-24T10:46:38.463Z","createdAt":"2016-03-24T10:46:38.463Z","slug":"packages","title":"Packages","html":"<p>As long as there is no auto-generated package documentation this page will simply contain a list of available packages.</p>","__v":0,"tabs":[]}]

有什么想法我可以进一步调查吗?

0 个答案:

没有答案