尝试连接angularJS $ http时mongodb服务器错误

时间:2013-10-21 12:02:22

标签: javascript mongodb angularjs

我正在使用MongoDB编写一个快速原型。我正在尝试使用angularJS和MongoDB的内置休息服务来设置快速webview。为了查看网站,我没有设置任何人工服务器,我正在使用WebStorm内置服务器。

我使用以下参数启动MongoDB

mongod --rest

我在mongod控制台中收到以下错误

[websvr] don't know how to handle a [OPTIONS]

我的angularJS控制器:

var csrMap = angular.module('app', []);

csrMap.controller('AppCtrl', function AppCtrl($scope, $http) {
   $http.get('http://localhost:28017/test/foo/').success(function(data) {
        $scope.foo = data;
   });
});

我的html文件

<!DOCTYPE html>
<html lang="en" ng-app="app">
<head>
    <title></title>
    <script src="js/angular.js"></script>
    <script src="js/controllers.js"></script>
</head>
<body ng-controller="AppCtrl">
    <ul>
        <li ng-repeat="alert in foo.rows">
            {{alert.timestamp | date:'dd.MM.yy HH:mm'}}: {{alert.alertMessage}}
        </li>
    </ul>
</body>
</html>

我在本地文件中解析json数据并从那里读取它,效果很好,这是一个片段:

{
    "offset" : 0,
    "rows": [
        { "_id" : { "$oid" : "525ef21e89806dfa17cef146" }, "timestamp" : 1381954078346, "alertMessage" : "foo" } ,
        { "_id" : { "$oid" : "525ef21e89806dfa17cef147" }, "timestamp" : 1381954078381, "alertMessage" : "foobar" } ,
    ],

    "total_rows" : 688 ,
    "query" : {} ,
    "millis" : 25
}

我也可以在firefox中调用rest服务并获得相应的响应。

我会感激任何帮助。我上下搜索谷歌,但我没有找到任何关于该错误的材料......

1 个答案:

答案 0 :(得分:0)

答案是:

使用REST服务而不是http服务(显然是MongoDB的Simple Rest Service),一切正常。我现在正在使用kule,一切都按预期工作。 我在这里找到了答案:Using AngularJs and MongoDB/Mongoose

在此处查找MongoDB的REST服务:http://docs.mongodb.org/ecosystem/tools/http-interfaces/#HttpInterface-RESTInterfaces