0

大家好,我正在制作一个带有 Rails 后端的应用程序,我需要从 ajax 请求创建一个用户,并且服务器必须返回一个保存新用户的 json 对象。

这是我的rails代码

class UsersController < ApplicationController

   def nuevo_usuario
      @u = User.new(params[:user])
      @u.save       
      respond_to do |format|
          format.json { render :json => @u }
      end
    end

end

这是javascript的代码

$.post("http://0.0.0.0:3000/users/nuevo_usuario.json", $("#resgistro-form").serialize(), function(data){});

服务器用这个响应

Started POST "/users/nuevo_usuario.json" for 127.0.0.1 at 2013-06-14 10:17:22 -0500
Processing by UsersController#nuevo_usuario as JSON
  Parameters: {"user"=>{"user"=>"prueba", "mail"=>"prueba@gmail.com", "password"=>"[FILTERED]"}}
WARNING: Can't verify CSRF token authenticity
   (0.5ms)  BEGIN
  SQL (72.1ms)  INSERT INTO "users" ("created_at", "mail", "password", "updated_at", "user") VALUES ($1, $2, $3, $4, $5) RETURNING "id"  [["created_at", Fri, 14 Jun 2013 15:17:22    UTC +00:00], ["mail", "prueba@gmail.com"], ["password", "preuba"], ["updated_at", Fri, 14 Jun 2013 15:17:22 UTC +00:00], ["user", "prueba"]]
   (18.2ms)  COMMIT
Completed 200 OK in 395ms (Views: 1.1ms | ActiveRecord: 310.0ms)

我没有收到我用 rails 发送的 json 对象。

如果您需要更多信息,请告诉我,谢谢 :)

4

3 回答 3

0

Add "respond_to :json"

So that it is something like:

class UsersController < ApplicationController
       respond_to :json

   def nuevo_usuario
      @u = User.new(params[:user])
      @u.save       
      respond_to do |format|
          format.json { render :json => @u.as_json }
      end
    end

end
于 2013-06-14T15:42:41.333 回答
0

您是否只查看日志文件?这不包括实际的响应正文。

于 2013-06-14T15:34:18.387 回答
0

我将我的代码上传到 heroku 并使用 phongap 编译了该应用程序,它工作正常,我认为问题是跨域和跨浏览器 ajax 请求

于 2013-06-14T17:10:36.957 回答