Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.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
Angularjs 角度误差;n、 是不是一个函数;在注册的输入字段中包含ng模型时-为什么?_Angularjs_Node.js_Login_Angular Ngmodel_Materialize - Fatal编程技术网

Angularjs 角度误差;n、 是不是一个函数;在注册的输入字段中包含ng模型时-为什么?

Angularjs 角度误差;n、 是不是一个函数;在注册的输入字段中包含ng模型时-为什么?,angularjs,node.js,login,angular-ngmodel,materialize,Angularjs,Node.js,Login,Angular Ngmodel,Materialize,我将nodejs用于后端,angular用于fronend(将materialize用于css),并尝试为注册编写代码。当我删除ng模型时,我没有得到任何错误,但是,当我在输入中包括ng模型时,当我开始在密码/电子邮件字段中键入时,我得到一个奇怪的角度错误:TypeError:n.is不是函数或TypeError:n.trigger不是函数。我不知道-n-是什么,也没有n函数。一直在搜索互联网等,但无法找出问题所在。此外,注册不起作用(以前是这样)。有人有主意吗?谢谢大家! 浏览器/js/sig

我将nodejs用于后端,angular用于fronend(将materialize用于css),并尝试为注册编写代码。当我删除ng模型时,我没有得到任何错误,但是,当我在输入中包括ng模型时,当我开始在密码/电子邮件字段中键入时,我得到一个奇怪的角度错误:TypeError:n.is不是函数或TypeError:n.trigger不是函数。我不知道-n-是什么,也没有n函数。一直在搜索互联网等,但无法找出问题所在。此外,注册不起作用(以前是这样)。有人有主意吗?谢谢大家!

浏览器/js/signup.html

<div class="signup-wrapper">
   <form id="signup-form" name="signupForm" ng-submit="signupForm.$valid && sendSignup(signup)">
        <alert type="danger" ng-show="error"> {{ error }} </alert> 
      <div class="form-group">
         <label for="email" >Email address</label>
         <input style="width:300px;" type="text" ng-model="signup.email" class="form-control" id="email" placeholder="Enter email">
      </div>
      <div class="form-group">
         <label for="signup-password">Password</label>
         <input style="width:300px;" type="password" ng-model="signup.password" class="form-control" id="signup-password" placeholder="Password">
         <input type="password" ng-model="signup.confirm" placeholder="Confirm Password">
      </div>
      <div class="signup-btn-group">
         <button type="submit" class="btn btn-default">Sign Up</button>
      </div>
   </form>
</div>
}))

服务器/app/configure/authentication/local.js:

app.post('/signup', function(req, res, next) {

 var re = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
 var test = re.test(req.body.email);
 if (req.body.password !== req.body.confirm) {
    res.send('passwords do not match')
 } else if (!test) {
    res.send('not a valid email')
 } else {
    User.findOne({
        where: {
            email: req.body.email
        }
    }).then(function(userOrNull) {
        if (userOrNull) {
            res.send('email exists already')
        } else {
            User.create(req.body)
                .then(function(user) {
                    req.login(user, function(err) {
                        if (err) console.log(err);
                        res.redirect('/login');
                    })
                })
        }

    })
  }
});
app.post('/signup',函数(req,res,next){
变量re=/^([^()\[\]\\,;:\s@“]+(\.[^()\[\]\,;:\s@“]+)*)(“+”)(\[[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[1,3}.[0-9]{1,3}.]124;([a-zA Z-0-9]++\];
var测试=重新测试(请求正文电子邮件);
if(req.body.password!==req.body.confirm){
res.send('密码不匹配')
}否则如果(!测试){
res.send('不是有效的电子邮件')
}否则{
User.findOne({
其中:{
电子邮件:req.body.email
}
}).then(函数(userOrNull){
if(userOrNull){
res.send('电子邮件已存在')
}否则{
User.create(请求主体)
.then(功能(用户){
请求登录(用户、功能(错误){
if(err)console.log(err);
res.redirect('/login');
})
})
}
})
}
});
编辑:

<link rel="stylesheet" type="text/css" href="/bootstrap/dist/css/bootstrap.css" />
 <link rel="stylesheet" href="/materialize-css/bin/materialize.css">
<link rel="stylesheet" type="text/css" href="/style.css" />
<script src="/lodash/index.js"></script>
<script src="/angular/angular.js"></script>
<script src="/angular-animate/angular-animate.js"></script>
<script src="/angular-ui-router/release/angular-ui-router.js"></script>
<script src="/angular-ui-bootstrap/ui-bootstrap.js"></script>
<script src="/angular-ui-bootstrap/ui-bootstrap-tpls.js"></script>
<script src="/socket.io-client/socket.io.js"></script>
 <script type="text/javascript" src="/jquery/dist/jquery.min.js"></script>
  <script type="text/javascript" src="/materialize-css/bin/materialize.js"></script>
  <script type="text/javascript" src="/angular-materialize/src/angular-materialize.min.js"></script>
<script src="/main.js"></script>

您应该在.js文件中检查表单是否为$valid。因此,如果成功,$scope.signupForm.$valid=true;您只需要调用sendSignup方法

另外,您的注册表单正在寻找一些$scope.signup.confirm=true。。这就是它不能工作的原因(我看不出你真的在用它)


希望这有帮助!如果你需要更多的帮助,请告诉我

检查表单是否为$valid应该发生在.js文件中。因此,如果成功,$scope.signupForm.$valid=true;您只需要调用sendSignup方法

另外,您的注册表单正在寻找一些$scope.signup.confirm=true。。这就是它不能工作的原因(我看不出你真的在用它)


希望这有帮助!如果你需要更多的帮助,请告诉我

您在注释中添加了更多错误消息:

angular.js:14110 TypeError: n.trigger is not a function
 at angular-materialize.min.js:1
 at angular.js:19861
 at completeOutstandingRequest (angular.js:6035)
 at angular.js:6314
因此,尽管您在问题中没有提到它,但您使用的是
angular materialize
模块,而抛出错误的正是该模块。查看angular materialize的未压缩源代码,我可以看到它希望在DOM元素上找到一个
trigger
方法

该模块的自述文件显示:

Angular查找jQuery,如果不存在,则使用jQlite。一些 angular materialize的指令使用了一些jQuery方法,所以请确保 Angular使用它而不是jQlite


我认为你的问题很简单,你使用了一个依赖于jQuery的模块,但你的应用程序中没有包含jQuery。

你在评论中添加了更多的错误消息:

angular.js:14110 TypeError: n.trigger is not a function
 at angular-materialize.min.js:1
 at angular.js:19861
 at completeOutstandingRequest (angular.js:6035)
 at angular.js:6314
因此,尽管您在问题中没有提到它,但您使用的是
angular materialize
模块,而抛出错误的正是该模块。查看angular materialize的未压缩源代码,我可以看到它希望在DOM元素上找到一个
trigger
方法

该模块的自述文件显示:

Angular查找jQuery,如果不存在,则使用jQlite。一些 angular materialize的指令使用了一些jQuery方法,所以请确保 Angular使用它而不是jQlite


我认为你的问题很简单,你使用了一个依赖于jQuery的模块,但你的应用程序中没有包含jQuery。

你只需要在加载之前加载jQuery即可


这确保Angular可以使用完整的jQuery库而不是jQlite。

您只需在加载Angular之前加载jQuery即可


这确保Angular可以使用完整的jQuery库而不是jQlite。

Well在slick.min.js和Angular-slick.min.js中也遇到了同样的问题,在花了大量时间搜索解决方案后,我终于发现问题很简单,我的常识不起作用

我按以下顺序添加了js文件,错误消失了。希望有人觉得它有用:

1) jquery.min.js
2) jquery-ui.min.js
3) slick.min.js
4) angular.js
5) angular-filter.js
6) angular-slick.min.js
...
...
在您的情况下,您可以尝试以下顺序,看看是否有效

<script src="/jquery/dist/jquery.min.js"></script>
<script src="/materialize-css/bin/materialize.js"></script>
<script src="/angular/angular.js"></script>
<script src="/angular-animate/angular-animate.js"></script>
<script src="/angular-ui-router/release/angular-ui-router.js"></script>
<script src="/angular-materialize/src/angular-materialize.min.js"></script>
<script src="/angular-ui-bootstrap/ui-bootstrap.js"></script>
<script src="/angular-ui-bootstrap/ui-bootstrap-tpls.js"></script>
<script src="/lodash/index.js"></script>
<script src="/socket.io-client/socket.io.js"></script>
<script src="/main.js"></script>

Well在slick.min.js和angular-slick.min.js上也有同样的问题,在花了很多时间寻找解决方案后,我终于发现问题很简单,我的常识也不起作用

我按以下顺序添加了js文件,错误消失了。希望有人觉得它有用:

1) jquery.min.js
2) jquery-ui.min.js
3) slick.min.js
4) angular.js
5) angular-filter.js
6) angular-slick.min.js
...
...
在您的情况下,您可以尝试以下顺序,看看是否有效

<script src="/jquery/dist/jquery.min.js"></script>
<script src="/materialize-css/bin/materialize.js"></script>
<script src="/angular/angular.js"></script>
<script src="/angular-animate/angular-animate.js"></script>
<script src="/angular-ui-router/release/angular-ui-router.js"></script>
<script src="/angular-materialize/src/angular-materialize.min.js"></script>
<script src="/angular-ui-bootstrap/ui-bootstrap.js"></script>
<script src="/angular-ui-bootstrap/ui-bootstrap-tpls.js"></script>
<script src="/lodash/index.js"></script>
<script src="/socket.io-client/socket.io.js"></script>
<script src="/main.js"></script>


请复制/粘贴完整的错误消息,它可能包括带有文件名和行号的堆栈跟踪。另外,如果是angular,它可能会包含一个指向angular网站上非常有用的页面的链接,该页面将告诉您有关错误的更多信息。angular.js:14110 TypeError:n.trigger不是angular materialize.min.js:1 at angular.js:19861 at completeOutstandingRequest(angular.js:6035)at angular.js:6314的函数谢谢。我看不到链接请复制/粘贴完整的错误消息,它可能包括带有文件名和行号的堆栈跟踪。此外,如果是angular,它可能会包含一个指向angular网站上非常有用的页面的链接,该页面将告诉您有关错误的更多信息。angular.js:14110 TypeError:n.trigger不是angular materialize的函数。min.js:1在angular.js:19861在completeOutstandingRequ