javascript - AngularJS - 从未使用 ng-submit 调用函数

标签 javascript angularjs ng-submit ng-controller

我创建了一个 Angular-Promise,它调用一个 http 方法(对应于 REST 服务),该方法应该在使用 ng-submit 提交表单时调用。 它永远不会发生,也没有错误,似乎该函数从未被调用。 这是 JavaScript 代码:

myapp.factory('CardFactory', ['$http', function($http){
return{
    cardService: function(hclass) {
        return $http({
            method: 'get',
            url: UrlServices.baseUrl + 'http://localhost:8080//HSRestServices/hsrest/decks/getCards/' + hclass,
        })
    }
    }
  }])
myapp.controller('CardCtrl', ['$scope',  'CardFactory', function($scope, CardFactory ){

$scope.card = "Druid";

$scope.cardService = function() {


    CardFactory.cardService($scope.card)
        .then(function (response) {

            $scope.status = response.status;
            $scope.card = response.data;

            console.log("Response: " + JSON.stringify({data: response.data}));

            if (response.status == 200){
                $scope.card = response.data;
            } else {
                console.log("Response: Something went wrong.");
            }
        }, function (response) {
            console.log("Response: Something went wrong.");
        })
};
 }]);

和 html 代码:

<body ng-app="mainApp">
<div ng-controller="CardCtrl">
<form ng-submit="cardService()">
    <input type="submit" value="Submit">
</form>
<p ng-model="card">{{card}}</p>

  </div>

 </body>

有什么想法吗?提前谢谢您。

最佳答案

如果您在应用程序上没有看到“Druid”一词,很可能您没有在应用程序中包含 angular.js 和 app.js。

如果你这样做了,它可能正在工作,但你没有正确定义 UrlServices,并且它找不到它。您可以检查浏览器控制台以获取更多详细信息。

否则它对我有用。看看这个jsfiddle:https://jsfiddle.net/j8o0ag4t/

在控制台中我看到:

 Error: Can't find variable: UrlServices

cardService@ http://fiddle.jshell.net/j8o0ag4t/show/:50:29 卡服务@ http://fiddle.jshell.net/j8o0ag4t/show/:62:28 http://ajax.googleapis.com/ajax/libs/angularjs/1.2.1/angular.min.js:160:97 http://ajax.googleapis.com/ajax/libs/angularjs/1.2.1/angular.min.js:177:84 $eval@ http://ajax.googleapis.com/ajax/libs/angularjs/1.2.1/angular.min.js:100:328 $申请@ http://ajax.googleapis.com/ajax/libs/angularjs/1.2.1/angular.min.js:101:110 http://ajax.googleapis.com/ajax/libs/angularjs/1.2.1/angular.min.js:177:71 http://ajax.googleapis.com/ajax/libs/angularjs/1.2.1/angular.min.js:27:19 forEach@[ native 代码] p@http://ajax.googleapis.com/ajax/libs/angularjs/1.2.1/angular.min.js:7:262 c@http://ajax.googleapis.com/ajax/libs/angularjs/1.2.1/angular.min.js:26:493

关于javascript - AngularJS - 从未使用 ng-submit 调用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33329267/

相关文章:

twitter-bootstrap - 如何在 AngularJS 中使用 Bootstrap 多选下拉菜单

javascript - 我不能使用 Angularjs 在我的 index.html 中包含另一个 html 页面

javascript - 从 Apps 脚本在 Google Apps 中创建用户

javascript - 如何检查 href 属性并在需要时添加完整的 url 地址?

javascript - MarionetteJS CompositeView ListenTo 未定义

javascript - 如何在不刷新页面的情况下关闭模式

javascript - 如何使用 Angular JS 按月和年正确过滤日期

AngularJS - 如何在不提交表单的情况下使用 ng-click?

HTML AngularJs CSS 表单提交