繁体   English   中英

使用AngularJS ajax将数据发布到sails.js后端中的API

[英]Using AngularJS ajax to post data to API in sails.js backend

我是新手,对于使用AngularJS将表单数据发布到sails.js的API感到有些困惑,但是该表单无法正常工作,并出现了以下错误信息: TypeError:string不是一个函数

我在想什么可能是错的。 我怀疑$http.post()使用的API错误,但是我不确定。

我有以下的Employee模型和EmployeeController方法称为regEmployee()

员工模式:

module.exports = {

  attributes: {
    name:{
      type:"string",
      required:true,
      minLength: 2
    },
    empnum:{
      type:"string",
      required:true,
      unique: true
    },
    email:{
      type:"email",
      required:true,
      unique: true
    }
  }
};

regEmployee()方法:

$scope.regEmployee = function() {
    $http.post("http://localhost:1337/employee/create", {name: $scope.employee.name,
        empnum: $scope.employee.number, email: $scope.employee.email}

    ).success($scope.message = "successful registration"
    ).error($scope.message = "failed registration");
}

HTML中的表格:

<form name="newEmp" ng-submit="regEmployee()" novalidate>
    <div class="form-group-lg">
      <label for="name">Employee Name: </label>
      <input type="text" id="name" placeholder="Employee Name" ng-model="employee.name" name="name" ng-required="true">
    </div>

    <div class="form-group-lg">
      <label for="number">Employee Number: </label>
      <input type="number" id="number" placeholder="Employee Number" ng-model="employee.number" name="number" ng-required="true">
    </div>

    <div class="form-group-lg">
      <label for="email">Employee Email: </label>
      <input type="email" id="email" placeholder="Employee Email" ng-model="employee.email" name="email" ng-required="true">
    </div>

    <div class="form-group">
      <button type="submit" class="btn btn-primary">Submit</button>
    </div>


  </form>

问题是您正在将字符串传递给.success和.error函数,而不是回调函数。 你需要像

 $scope.regEmployee = function() { $http.post("http://localhost:1337/employee/create", {name: $scope.employee.name, empnum: $scope.employee.number, email: $scope.employee.email} ).success(function() {$scope.message = "successful registration";}) ).error(function() {$scope.message = "failed registration"}); } 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM