Rails Ajax Json

rmn*_*ish -1 ajax json ruby-on-rails

format.json和format.html是什么意思?以及如何在客户端使用它?

def create
  @user = User.new(params[:user])

  respond_to do |format|
    if @user.save
      format.html { redirect_to @user, notice: 'User was successfully created.' }
      format.js   {}
      format.json { render json: @user, status: :created, location: @user }
    else
      format.html { render action: "new" }
      format.json { render json: @user.errors, status: :unprocessable_entity }
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

lar*_*owΨ 5

它允许您的应用程序以不同的方式响应,具体取决于客户端是否请求html响应或javascript/JSON响应.

在这种情况下,如果@ user.save成功并且请求需要html响应,则将执行以下代码.{redirect_to @user,注意:'用户已成功创建.'}.

但是,如果您使用javascript或ajax发出请求,并且您希望将结果作为JSON对象,则将执行以下代码{render json:@ user,status :: created,location:@user}.