Angularjs控制器显示错误

时间:2014-11-22 19:54:08

标签: javascript angularjs onsen-ui monaca

我使用monaca ide进行开发。

我试图使用angularjs将数据从html发布到php页面,这给了我错误 未捕获错误:[ng:areq]参数' joinctrl'不是功能,未定义我对angularjs一无所知,请帮助我,谢谢你的帮助。

HTML

的index.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>

page2.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>

的script.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,则需要在html中使用<form>
  2. 如果我可以像使用jquery一样使用alert,请告诉我。
  3. 再次感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

您的onsen文件中是否包含index.html模块相关性?

以下是您的代码working version,其中排除了onsen

可以在ng-app<html>标记处使用单个<body>。确保在整个应用中都有一个ng-app属性。

至于:

  1. 您可以像这样使用<form>

  2. 你可以。

  3. :)

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

答案 1 :(得分:0)

  1. 使用AngularJS时需要使用表单。它与其他框架的方式相同。添加ng-click到提交按钮的方式是有效的。
  2. AngularJS只是一个JavaScript框架。您使用警报的方式是有效的。
  3. 我可以问你在什么时候/你采取了什么行动未捕获错误:[ng:areq]参数'joinctrl'不是函数,未定义