加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ajax – Ember.js with rails on rails application:406注册时

发布时间:2020-12-16 02:51:32 所属栏目:百科 来源:网络整理
导读:我使用Devise进行身份验证设置了rails 3.2.11应用程序. 我想使用 ember.js作为mvc框架. 当我启动对POST /users.json路由的ajax调用时,我得到406 Not Acceptable. 这是我的ajax电话: urlBase : '/users'signup : (username,email,password,passwordConfirmat
我使用Devise进行身份验证设置了rails 3.2.11应用程序.
我想使用 ember.js作为mvc框架.

当我启动对POST /users.json路由的ajax调用时,我得到406 Not Acceptable.

这是我的ajax电话:

urlBase : '/users'

signup : (username,email,password,passwordConfirmation) ->
  $.ajax
    url: "#{@.get('urlBase')}.json"
    type: "POST"
    dataType: "json"
    data:
      "user[username]": username
      "user[email]": email
      "user[password]": password
      "user[password_confirmation]": passwordConfirmation

    success: (data) ->
      alert('Completed sign up process: '+ JSON.stringify(data));
      @errorMsg = "Signed up successfully." 

    error: (jqXHR,textStatus,errorThrown) ->
      alert "Error completing sign up: " + textStatus + " error: " + errorThrown

这是日志:

Started POST "/users.json" for 127.0.0.1 at 2013-01-14 14:38:57 +0100
Processing by Devise::RegistrationsController#create as JSON
  Parameters: {"user"=>{"username"=>"obo","email"=>"obo@obo.dv","password"=>"[FILTERED]","password_confirmation"=>"[FILTERED]"}}
   (1.3ms)  begin transaction
  User Exists (1.3ms)  SELECT 1 AS one FROM "users" WHERE "users"."email" = 'obo@obo.dv' LIMIT 1
   (0.1ms)  rollback transaction
Completed 406 Not Acceptable in 311ms (ActiveRecord: 2.6ms)

我不明白为什么会这样.

解决方法

您使用的是什么版本的Devise?

上周我意外升级到Devise 2.2.0后遇到了类似的问题.在该版本中进行了一些向后不兼容的更改,包括使DeviseController仅默认响应HTML的更改.您可以添加其他格式,例如JSON,这可以解决您的问题.

阅读有关Devise更改on their changelog on Github的内容.如果您不想这样做,请尝试降级到Devise 2.1.2,这就是我目前所做的.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读