MEAN与Jade模板表单提交GET而不是POST

时间:2015-04-25 05:15:29

标签: angularjs pug html-form ng-submit

所以,今天早些时候我有一个工作表单可以发布和删除restaurants文件到mongodb集合。一切都工作正常,但后来我决定尝试将表单加载到div而不是重定向到新页面。当我尝试提交我的餐厅表格时,这样做会产生不同的结果。最初它会在我的$scope.add()中拨打restaurantsController,但现在它发送的GET请求包含表单数据/restaurants而不是POST到{{1} }}。我正在寻找一些有关改变行为的方法的见解。虽然当我点击我的餐厅锚标签时它正在加载表单,但它没有从数据库加载餐馆。

以下是菜单锚点的jade和js:

menu.js

/api/restaurants

nav.jade

app.controller("menu", ["$scope", "$http", function ($scope, $http) {
    $scope.home = function () {
      $("#content").html("");
    };
    $scope.restaurants = function () {
      $http.get('/restaurants').
        success(function(data, status, headers, config){
          $("#main_content").html(data);
      }).
        error(function(data, status, headers, config){

      });
    };
}]);

以下是表格:

mixin link(name, fn)
  li
    a.btn(ng-click=fn)= name

nav.navbar.navbar-inverse.navbar-fixed-top(role='navigation')
  .container
     .navbar-header
      button.navbar-toggle.collapsed(type='button', data-    toggle='collapse', data-target='#navbar', aria-expanded='false', aria-    controls='navbar')
        span.sr-only Toggle navigation
        span.icon-bar
        span.icon-bar
        span.icon-bar
      a.navbar-brand(href='/') Food App
    #navbar.navbar-collapse.collapse
      ul.nav.navbar-nav(ng-controller="menu")
        +link("Home", "home()")
        +link("Restaurants", "restaurants()")

和控制器...

form(name="NewRestaurant" ng-submit="$event.preventDefault();add()")     
    .row
      .form-group
        input.form-control(type="text", name="name" placeholder="Name", ng-model="name" required)
    .row
      .form-group
        input.form-control(type="text", name="address" placeholder="Address", ng-model="address" required)
    .row
      .form-group.col-md-6
        -for(var i = 0; i <= 5; i++){
          input(name="rating" type="radio", value=i, ng-model="rating" required)
        =i
        -}
      .form-group.col-md-6
        button.success(type="submit") Submit
编辑:现在我输入了这个内容,我想知道,也许有角度没有识别表单并且没有为它创建$ scope,因为它在页面加载后被加载... ?

0 个答案:

没有答案