【发布时间】:2016-10-17 08:06:58
【问题描述】:
我是 Angular.js 的新手,我正在尝试将表单数据发送到服务器,但我收到 angular.js:13424 错误:[ng:areq]。我确实尝试了 Stack Overflow 上的许多可用答案,但我无法找到我的问题的答案。
index.view.html(用于注册)
<div class="col-md-6 col-md-offset-3" >
<input type="text" ng-model="fname" placeholder="Enter the name :"required >Fristname
<br> <br>
button type="button" class="btn btn-success navbar-btn" ng-click=register()>Register </button>
</div>
index.controller.js
(function ()
{
angular
.module('app')
.controller('register.IndexController', function($scope,$http)
{
$scope.register= function()
{
$http.post('http://localhost:9000/user/register', {firstName : $scope.fname}).success(function(response)
{ console.log($scope.fname);
})
}
})
});
index.html
<!DOCTYPE html>
<html ng-app="app">
<head>
<title>AngularJS JWT Authentication Example & Tutorial</title>
<!-- bootstrap css -->
<link href="//netdna.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet" />
<!-- application css -->
<link href="app-content/app.css" rel="stylesheet" />
</head>
<!-- HEADER AND NAVBAR -->
<header>
<nav class="navbar navbar-default">
<nav class="cf" ng-include="'nav/index.view.html'" ng-controller="Main.IndexController"></nav>
</nav>
</header>
【问题讨论】:
-
您是否在其他地方定义了模块应用程序?如果没有,那么你需要有这个 index.controller.js
.module('app', [])如果你在其他地方定义了它(使用方括号),请确保你只拥有它一次 -
看起来您使用的控制器名称与您声明的控制器名称不同:Main.IndexController vs register.IndexController...
-
@theTaoOfJS 是的,我已经用方括号定义了它和各自的依赖关系,所以在其他控制器文件中我没有包含该部分,即 []
-
@NeilHibbert 在路由器部分,我为不同的页面定义了控制器,例如: .state('register', { url: '/register', templateUrl: 'register/index.view.html ',控制器:'register.IndexController'
-
好的,但是“主要”对象在哪里声明?它在某个地方的父 $scope 中吗?因为它看起来不像您的 元素附加到实际控制器...
标签: javascript angularjs mongodb