我尝试使用angular.js设计登录并设计。
这是我的表单html:
<form ng-submit="submitLogin(loginForm)" role="form" ng-init="loginForm = {}">
<div class="form-group">
<label for="email">Email</label>
<input type="email" name="email" id="email" ng-model="loginForm.email" required="required" class="form-control"> </div>
<div class="form-group">
<label for="password">Password</label>
<input type="password" name="password" id="password" ng-model="loginForm.password" required="required" class="form-control"> </div>
<button type="submit" class="btn btn-primary btn-lg">Sign in</button>
</form>
所以基本上我的表单始终是POST
- /api/auth/sign_in
。但是我的api在路径中也有一个版本。
因此/api/v1/auth/sign_in
可以正常工作,但不会/api/auth/sign_in
。
如何更改表单操作以包含api版本?
更新,这是重要的角度相关信息
angular
.module('AngularRails', [
'ngAnimate',
'ngCookies',
'ngResource',
'ngRoute',
'ngSanitize',
'ngTouch',
'templates',
'ng-token-auth'
]).config(function ($routeProvider, $locationProvider) {
$routeProvider
.when('/app/sign_in', {
templateUrl: 'user_sessions/new.html',
controller: 'UserSessionsCtrl'
})
.otherwise({
redirectTo: '/'
});
$locationProvider.html5Mode({
enabled: true,
requireBase: false
});
});
submitLogin
来自here。有没有办法从ng-token-auth(angular.js的基于令牌的认证模块)配置或覆盖函数submitLogin
?
答案 0 :(得分:0)
$scope.actionUrl = $scope.ContextUrl + '/api/v1/auth/sign_in';
$ scope.ContextUrl可能是您想要提供的任何内容,以使URL可以访问。
或者
<form action="{{ ContextUrl + '/api/v1/auth/sign_in' }}">
这是一个肮脏的答案,试一试,让我知道。