在Firefox的所有浏览器 EXCEPT 中出现角度模块问题,称为“ng-token-auth”。在rails服务器上,我使用gem“devise-token-auth”,它与angular模块无缝地工作,以创建一个API令牌认证框架。
我遇到的问题是使用TypeError: Cannot assign to read only property 'confirm_success_url' of
方法。在我的users_registration.coffee ngController中的github(https://github.com/lynndylanhurley/ng-token-auth#authsubmitregistration)上发布的示例之后,我通过变量将表单数据(转换为JSON)发送到SubmitRegistration()函数,然后将其发布到rails(由设计处理) -token-auth)gem。
然而,在发布任何数据之前,在表单提交时立即会引发javascript错误:angular.module('Authentication').controller('UserRegistrationsController',['$scope', '$rootScope','$auth','$state',
($scope, $rootScope, $auth, $state) ->
$scope.handleRegBtnClick = ->
r = $rootScope.availability
f = $scope.registrationForm
parameter = JSON.stringify(
zone_id: r.zone.id
first_name: f.first_name
last_name: f.last_name
email: f.email
password: f.password)
$auth.submitRegistration(parameter).then ->
$auth.submitLogin
email: $scope.registrationForm.email
password: $scope.registrationForm.password
])
user_registrations.coffee(controller):
<form ng-submit="handleRegBtnClick()" role="form" ng-init="registrationForm = {}">
<div class="form-group">
<label for="first_name">First Name</label>
<input type="first_name"
name="first_name"
id="first_name"
ng-model="registrationForm.first_name"
required="required"
class="form-control">
</div>
........
<div class="form-group">
<label for="email">Email</label>
<input type="email"
name="email"
id="email"
ng-model="registrationForm.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="registrationForm.password"
required="required"
class="form-control">
</div>
<button type="submit" class="btn btn-primary btn-lg">Register</button>
</form>
form.html:
if (!(edtvUsername.equals(" ") && (edtvPassword.equals(" "))))
答案 0 :(得分:0)
所以我最终解决了这个问题。问题来自于使用JSON.stringify
,而我需要使用angular.extend
parameter = angular.extend(
zone_id: r.zone_id
.....
我没有意识到,但是confirm_success_url
是一个自动添加的参数,因此在它没有被其他参数包含之前就已经添加了。
无论如何,它现在适用于所有浏览器。