Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用Restanglar将表单数据从AngularJs前端发布到NodeJS RESTful API_Javascript_Angularjs_Node.js_Mongodb_Restangular - Fatal编程技术网

Javascript 使用Restanglar将表单数据从AngularJs前端发布到NodeJS RESTful API

Javascript 使用Restanglar将表单数据从AngularJs前端发布到NodeJS RESTful API,javascript,angularjs,node.js,mongodb,restangular,Javascript,Angularjs,Node.js,Mongodb,Restangular,我正在做一个项目,我很难使用restanglar将表单数据从angularJS前端发布到后端RESTful API。每次尝试时,我都会得到一个错误代码400(错误请求)。下面是我的密码 app.js 'use strict'; angular .module('clientApp', ['ngRoute', 'restangular']) .config(function ($routeProvider, RestangularProvider) { Restangu

我正在做一个项目,我很难使用restanglar将表单数据从angularJS前端发布到后端RESTful API。每次尝试时,我都会得到一个错误代码400(错误请求)。下面是我的密码

app.js

'use strict';

angular
    .module('clientApp', ['ngRoute', 'restangular'])
    .config(function ($routeProvider, RestangularProvider) {

    RestangularProvider.setBaseUrl('http://127.0.0.1:3000');

    $routeProvider
      .when('/', {
      templateUrl: 'views/login.html',
      controller: 'LoginCtrl',
      controllerAs: 'login'
    })

      .when('/create/user', {
      templateUrl: 'views/user-add.html',
      controller: 'UserAddCtrl',
      controllerAs: 'userAdd'
    })
     .otherwise({
      redirectTo: '/'
    });
    });
view/user.html

<div ng-controller="UserAddCtrl">

    <form class="form-horizontal" name="regForm" ng-submit="saveUser()">  
        <fieldset>

            <div class="form-group">
                  <label class="col-md-4 control-label" for="textinput">First Name</label>  
                  <div class="col-md-4">
                  <input id="Fname" name="Fname" type="text" ng-model="newUser.FnameValue" placeholder="Enter First Name" class="form-control input-md" required>

                  </div>
            </div>


            <div class="form-group">
                  <label class="col-md-4 control-label" for="Last Name">Last Name</label>  
                  <div class="col-md-4">
                  <input id="Lname" name="Lname" ng-model="newUser.LnameValue" type="text" placeholder="Enter Last Name" class="form-control input-md">

                  </div>
            </div>


            <div class="form-group">
                  <label class="col-md-4 control-label" for="Staff ID">Staff ID</label>  
                  <div class="col-md-4">
                  <input id="StaffId" name="StaffId" ng-model="newUser.StaffIdValue" type="text" placeholder="Enter Staff ID" class="form-control input-md" required>                   
                  </div>
            </div>


            <div class="form-group">
                  <label class="col-md-4 control-label" for="Email">Email</label>  
                  <div class="col-md-4">
                  <input id="Email" name="Email" ng-model="newUser.EmailValue" type="text" placeholder="Enter Email" class="form-control input-md" required="">

                  </div>
            </div>


            <div class="form-group">
                  <label class="col-md-4 control-label" for="Password">Password</label>
                  <div class="col-md-4">
                    <input id="Password" name="Password" ng-model="newUser.PasswordValue" type="password" placeholder="Enter Password" class="form-control input-md" required>

                  </div>
            </div>

            <div class="form-group">
                  <label class="col-md-4 control-label" for="Register"></label>
                  <div class="col-md-4">
                    <button id="Register" name="Register" type="submit" class="btn btn-primary">Creat User</button>
                  </div>
            </div>

        </fieldset>
    </form>

</div>
每次执行about代码,我都会得到400(错误请求)。。。我做错了什么


请注意,我使用的是mongodb,我的db名是isdbmeanapp,我的集合名是user,因此我的服务器url是

在重新启动时,应该对集合而不是元素进行发布

在你的情况下,帖子应该是这样制作的

$scope.newUser = {email :"", password: "", etc: ""};
然后提出类似的发帖请求

Restangular.all('user').post("users", $scope.newUser);
参考文献


当我尝试你的建议时,我得到的是。。。。无法加载XMLHttpRequest。请求的资源上不存在“Access Control Allow Origin”标头。因此,不允许访问源“”。响应的HTTP状态代码为400。在这种情况下,您应该使用CORS,更多信息可以在这里找到:在我的服务器端,这里是我如何在index.js文件中处理CORS//CORS Support app.use(函数(req,res,next){res.header('Access-Control-Allow-Origin','*');res header('Access-Control-Allow-Methods','GET,PUT,POST,DELETE');res.header('Access-Control-Allow-Headers','Content-Type');next();});即使这样,我仍然有上面的XMLHttpRequest错误。你能帮我解决吗?我可以成功地从服务器上获取信息,但我不能向服务器发送帖子
Restangular.all('user').post("users", $scope.newUser);