Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/435.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
Javascript 使用HTML表单中的Angular JS发布数据。未捕获错误:[$injector:moduler]_Javascript_Php_Html_Angularjs_Post - Fatal编程技术网

Javascript 使用HTML表单中的Angular JS发布数据。未捕获错误:[$injector:moduler]

Javascript 使用HTML表单中的Angular JS发布数据。未捕获错误:[$injector:moduler],javascript,php,html,angularjs,post,Javascript,Php,Html,Angularjs,Post,我正试图使用Angular JS将带有输入的表单发布到我的PHP后端。PHP后端很好,我用POSTMAN进行了测试 我得到以下错误: Uncaught Error: [$injector:modulerr] http://errors.angularjs.org/1.3.14/$injector/modulerr?p0=valForm&p1=Error%3…gleapis.com%2Fajax%2Flibs%2Fangularjs%2F1.3.14%2Fangular.min.js%3A

我正试图使用Angular JS将带有输入的表单发布到我的PHP后端。PHP后端很好,我用POSTMAN进行了测试

我得到以下错误:

Uncaught Error: [$injector:modulerr] http://errors.angularjs.org/1.3.14/$injector/modulerr?p0=valForm&p1=Error%3…gleapis.com%2Fajax%2Flibs%2Fangularjs%2F1.3.14%2Fangular.min.js%3A17%3A381)
这是我的HTML代码

<!DOCTYPE html>
<html ng-app="valForm">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
<link rel="stylesheet" type="text/css" href="customersStyle.css">
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script>
</head>
<body>
  <div  ng-controller="valController">
      <form>
        <input name="name" ng-model="name" type="text" id="name" placeholder='Name' >
        <input name="surname" ng-model="surname" type="text" id="surname" placeholder='Surname'>
        <br>
        <input type="submit" ng-click="submit()" value="SUBMIT"></input>
      </form>
</div>
</body>
</html>

必须为表单中的每个输入字段指定ng模型。就这样改变吧:

<div ng-controller="valController">
  <form ng-submit="submit()">
    <input name="name" type="text" ng-model="data.name" placeholder='Name' />
    <input name="surname" type="text" ng-model="data.surname" placeholder='Surname' />
    <br>
    <input type="submit" value="SUBMIT" />
  </form>
</div>

这可能会对您有所帮助:

问题在于页面中从未引用自定义javascript代码

应在主体底部添加以下内容:

<script src="mycode.js"></script>

必须为输入字段指定ng模型。然后,只有$scope将获取data@Thinker我添加了它们,但错误未捕获错误:[$injector:modulerr]仍然存在。您可以删除模块定义周围的封装,这是不必要的。@victor175我删除了封装,但它仍然不起作用尝试将javascript请求移到正文底部,另外,您将包含在该页面中的javascript代码附加到何处?我添加了它们,但错误未捕获错误:[$injector:modulerr]仍然存在
angular.module('valForm', [])
 .controller('valController',function($scope, $http){   
        $scope.data = {};
        var param = function(data) {
              var returnString = '';
              for (d in data){
                  if (data.hasOwnProperty(d))
                     returnString += d + '=' + data[d] + '&';
              }
              return returnString.slice( 0, returnString.length - 1 );
        };
        $scope.submit = function(){
            $http({
                method:'POST',
                url:"valid_link", 
                data : param($scope.data)
            })
            .success(function(response){
                $scope.result = response;
                console.log(result);
                })
            .error(function(){
                console.log("error");
            });
        };
     });
<script src="mycode.js"></script>