ruby-on-rails – jquery ajax 422在Chrome中取得了成功

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – jquery ajax 422在Chrome中取得了成功前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个使用rails3,jquery-forms的网站,我正在使用firefox和chome进行测试.

为了测试,我每次都让服务器返回422状态.

当我提交表单时,Firefox正确地发出“错误”. Chrome错误地击中了“成功”.

任何人都有任何想法为什么会这样?

$('form').ajaxSubmit({
    dataType: 'json',success: function(responseText,statusText,xhr,$form) {
        console.log("It hits success");         
    },error: function(responseText,xhr) {
            console.log("It hits failure");
    }
    });

解决方法

我假设您的服务器代码如下所示:
def update
 @model = Model.find(params[:id])
 @model.update_attributes(params[:model])
 if @model.save
   render :json => @model,:status => :ok
 else
   head :unprocessable_entity # aka 422 status code
 end
end

首先,您的ajax请求中是否涉及任何文件上传?显然,在这种情况下不能使用HTTP状态代码. topic on JQuery forum

成功回调的条件是2xx状态或304(未修改).

原文链接:https://www.f2er.com/ruby/269717.html

猜你在找的Ruby相关文章