从我的控制器返回一个不同于200的代码以触发ajax错误,这被认为是一种好的做法吗
Is it considered good practice to return a code different than 200 from my controllers, in order to trigger an ajax error?
我有如下代码(这是一个远程表单)
def something
@user = User.find_by_email(params[:email])
@success = true
@error = nil
if !@user
@success = false
@error = "No such user"
elsif !@user.some_condition
@success = false
@error = "User did not pass condition"
end
respond_to do |format|
format.json { render "my_json_view",:status => @success ? 200 : 403 }
end
end
在my_json_view
中,我做了一些类似的事情:
json.response do |json|
if @success
json.success true
# data I need here
else
json.success false
json.error @error
end
end
通过这种方式,我可以轻松地挂接到ajax:error
事件,并轻松地处理错误情况。我只是想知道这种做法有多好。可以返回不同的http代码,这样jQuery就会知道失败了吗?
当然。这就是错误代码的作用。但请确保您选择了正确的HTTP状态代码。
确实如此。您应该始终返回与您的操作中发生的事情相对应的状态代码,并且状态代码涵盖了许多情况。
相关文章:
- 从我的控制器返回一个不同于200的代码以触发ajax错误,这被认为是一种好的做法吗
- 为什么typeof的数组的数组的未定义值返回为“0”;未定义的“;我的条件不认为是真的
- jQuery结合了2个绑定函数(类型错误:a是未定义的)
- 为什么使用“new”创建一个Javascript数组被认为是不好的
- 为什么流星会被认为是不安全的
- Jasmine测试工厂函数调用本地函数和另一个函数-获取错误:应该是间谍,但得到了function
- 这些被认为是Javascript闭包吗
- 培根.js Bus.plug: 未捕获 错误: 不是可观察的 : [对象对象]
- 美元符号可以被认为是jquery中的宏吗?
- 未捕获的类型错误: .不是 JavaScript 中的函数
- 我的javascript函数有问题,我认为是document.getElementById('vodObj
- 这个JS函数会被认为是递归的吗
- “var self=this”被认为是一种代码气味
- 淘汰抛出消息:类型错误:
不是一个函数.什么意思 - XrayWrapper 错误(值是可调用的)在 Firefox 插件中覆盖原型方法时
- 为什么数字垫被认为是字符
- 未捕获错误:不是有效的 2D 阵列
- 为什么纯字符串被认为是无错误的
- 错误在RxJs中被认为是来自可观察对象的发射吗?
- Node.js错误抛出被认为是不好的做法,但对于TDD来说却是必不可少的