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

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

发布时间:2020-12-17 04:39:51 所属栏目:百科 来源:网络整理
导读:我有一个使用rails3,jquery-forms的网站,我正在使用firefox和chome进行测试. 为了测试,我每次都让服务器返回422状态. 当我提交表单时,Firefox正确地发出“错误”. Chrome错误地击中了“成功”. 任何人都有任何想法为什么会这样? $('form').ajaxSubmit({ dat
我有一个使用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(未修改).

(编辑:李大同)

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

    推荐文章
      热点阅读