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

Javascript 尝试连接angularJS$http时出现mongodb服务器错误,javascript,mongodb,angularjs,Javascript,Mongodb,Angularjs,我正在使用MongoDB编写一个快速原型。我正在尝试使用angularJS和MongoDB内置的rest服务设置一个快速的webview。为了查看网站,我没有设置任何人工服务器,我使用的是WebStorm内置服务器 我使用以下参数启动MongoDB mongod --rest 我在mongod控制台中得到以下错误 [websvr] don't know how to handle a [OPTIONS] 我的angularJS控制器: var csrMap = angular.module(

我正在使用MongoDB编写一个快速原型。我正在尝试使用angularJS和MongoDB内置的rest服务设置一个快速的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>
我还可以调用firefox中的rest服务并获得相应的响应

如果有任何帮助,我将不胜感激。我上下搜索了谷歌,但没有找到任何关于这个错误的资料…

,答案是:

使用REST服务而不是http服务(MongoDB的简单REST服务显然就是http服务),一切正常。我现在正在使用kule,一切正常。 我在这里找到了答案:


在这里找到MongoDB的REST服务:

这看起来像是一个CORS问题:报告它是否有效,这样我们就可以回答您的问题:)嗯,我不再在服务器端收到错误消息,但我显然收到了错误响应。因为如果我这样做:
$http.get('http://localhost:28017/test/foo/错误(函数(数据){$scope.foo=“error”;})我可以打印出来我已经做了更多的尝试和错误,回火数据说我从服务器得到一个http状态为200的响应,但在angularJS中,我得到一个http状态为0(??)的错误响应,由
$http.get('http://localhost:28017/test/foo/)。错误(函数(数据、状态){alert(status);})
{
    "offset" : 0,
    "rows": [
        { "_id" : { "$oid" : "525ef21e89806dfa17cef146" }, "timestamp" : 1381954078346, "alertMessage" : "foo" } ,
        { "_id" : { "$oid" : "525ef21e89806dfa17cef147" }, "timestamp" : 1381954078381, "alertMessage" : "foobar" } ,
    ],

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