Angularjs 控制器显示错误

Angularjs controller is showing error

本文关键字:错误 显示 控制器 Angularjs      更新时间:2023-09-26

我正在使用monaca ide进行开发。

正在尝试使用angularjs将数据从html发布到php页面,这给了我错误未捕获的错误: [ng:areq] 参数"joinctrl"不是一个函数,未定义 我对 AngularJS 一无所知,请帮帮我解决这个问题,谢谢你的帮助。

.html

索引.html

<!DOCTYPE HTML>
<html>
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, height=device-height, initial-scale=1, maximum-scale=1, user-scalable=no">
    <script src="components/loader.js"></script>
    <script src="js/script.js"></script>
    <link rel="stylesheet" href="components/loader.css">
    <link rel="stylesheet" href="css/style.css">
    <script>
        ons.bootstrap();
        ons.disableAutoStatusBarFill();  // (Monaca enables StatusBar plugin by default)
    </script>
</head>
<body>
    <ons-navigator title="Navigator" var="myNavigator" page="page1.html">
    </ons-navigator> 
</body>
</html>

页2.html

<ons-page style="background:#5C2D50">
<div class="modal">
    <div class="modal__content" ng-app=joinus ng-controller="joinctrl">
        <form>
        <h1>Join Us</h1>
        <input type="email" placeholder="Email" ng-model="email"><br />
        <input type="password"  placeholder="Password" ng-model="password"><br />
        <input type="password"  placeholder="Confirm Password" ng-model="cpassword"><br />
        <input type="submit" value="Create" class="creat" ng-submit="create()">
        </form>
    </div>
</div>
<div id="gos" onclick="myNavigator.popPage()"><span class="fa fa-chevron-left" id="bk"></span></div>
</ons-page>

脚本.js

var app = angular.module('joinus', ['onsen']);
app.controller('joinctrl', function($scope, $http){
   $scope.create=function(){
       var request=$http({
           method:"post",
           url:"http://www.elunika.com/joinus.php",
           data:{
               email:$scope.email,
               password:$scope.password,
               cpassword:$scope.cpassword
           },
           headers:{'Content-Type':'application/x-www-form-urlencoded'}
       });
   request.success(function(data){
       myNavigator.popPage();
   });
   request.error(function(data){
       alert("Error While Proccessing");
   })
   }
});

请让我知道我正在犯的错误。

  1. 请让我知道,如果我使用 angularjs,<form>是否需要在 html 中使用。
  2. 请让我知道我是否可以像在 jquery 中使用alert一样使用。

再次感谢您的任何帮助。

您的index.html文件中是否包含onsen模块依赖项?

这是代码的工作版本,不包括onsen

可以在<html><body>标签上使用单个ng-app。确保在整个应用中具有单个ng-app属性。

至于:

  1. 你可以使用这样的<form>

  2. 您可以。

:)

PS:我提供的 Plunker 示例没有 areq 问题 ,正如您在浏览器控制台中看到的那样。

  1. 当您使用AngularJS时,确实需要使用表单。它与其他框架的方式相同。您将 ng 单击添加到提交按钮的方式是有效的。
  2. AngularJS只是一个JavaScript框架。使用警报的方式有效。

请问您在什么时候/针对什么操作未捕获错误:[ng:areq] 参数"joinctrl"不是一个函数,未定义