2016-04-06 9 views
0

私の現在のコードでエラーは発生しません。このフォームをAngularJSで提出することができませんか?

var app = angular.module('mgcrea.ngStrapDocs', ['ngAnimate', 'ngSanitize', 'mgcrea.ngStrap']); 

app.controller('MainCtrl', function($scope) { 
}); 

angular.module('mgcrea.ngStrapDocs') 
.controller('NavbarDemoCtrl', function($scope, $location) { 
    $scope.$location = $location; 

}); 

app.controller ('formController',[ '$scope', '$http', function($scope, $http) { 
    $scope.formData = {}; 
    $scope.processForm = function() { 
     console.log('Click'); 
     $http({ 
      method : 'POST', 
      url : '/users/login', 
      data : $scope.formData 
     }).success(function(data, status, headers, config) { 
      console.log(data); 
     }).error(function() { 
      console.log("ERROR") 
     }); 
    } 
}]); 
use strict; 

私は、url:localhosts/users/loginがPostman経由でデータを受け入れることを確認しました。しかし、すべてをまとめると、実際にフォームをapiに送信できないことがわかります。私は、いくつかの競合するコードがあるかどうか、または私が現在何かエラーを出す前に、私が言及したように具体的に何か問題があるかどうかはわかりません。

また、jsに問題がないと思われる場合は、htmlへのペーストビンのリンクもあります。

答えて

1

問題はあなたのマークアップにあるようです。修正するにはいくつかのことがあります。

最初に、ng-appディレクティブを使用してアプリケーションに使用しているAngularモジュールの名前を指定します。あなたの場合、これは "mgcrea.ngStrapDocs"のようです。だからあなたの<html>タグは次のようになります。

<html ng-app="mgcrea.ngStrapDocs"> 

第二に、あなたはあなたのマークアップですべてであなたのコントローラを使用するように角度を語っていません。あなたの場合、それはあなたの<form>タグにng-controllerを使用して、それを指定するには、この操作を行うための最も簡単な方法で:

<form ng-controller="formController" ng-submit="processForm()"> 
+0

私は、スタックトレースは、マークアップ内のJavaScript SRCSのリストをオフに印刷し、モジュールのエラーを取得します。これは、私がどこかの依存関係を失っていることを意味するでしょうか? – jimmyjacks

+0

ええ、あなたは 'ngSanitise'ファイルがないようです。あなたがそれを必要としない場合は、 '' ngSanitise''エントリを最初の行の配列から削除してください( 'var app = angular.module(...'))。 – GregL