使用自定义状态代码或为 ajax 渲染自定义文本?
哪种方法更好?自定义状态代码或为 ajax
render :text => "pusher"
渲染文本
render :nothing => true , :status => 900
或
$.ajax({
success : function(d , s , r){
if (d == "pusher"){
}
}
});
which is a better approach? a custom status code or render a text for ajax
render :text => "pusher"
or
render :nothing => true , :status => 900
for
$.ajax({
success : function(d , s , r){
if (d == "pusher"){
}
}
});
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果您想表明成功,那么您必须返回2XX状态代码或者你说的不是 HTTP。如果您没有返回有效的状态代码,那么您就不能指望客户端对您的响应执行任何有用的操作。
因此,您必须返回 2XX 状态代码之一,这样您就只剩下:
作为您唯一可行的解决方案。
If you want to indicate success then you must return a 2XX status code or you're not speaking HTTP. If you're not return a valid status code then you can't expect the clients do anything useful with your response.
So you have to return one of the 2XX status codes so you're left with:
as your only viable solution.
最佳实践是对此类内容使用 http 状态。
但它仅适用于 http 状态代码。
因此,如果您有与业务逻辑相关的响应,而不是与 2xx 或 4xx 状态相关的响应,则您将需要
render :text =>; “pusher”
approch(因为“pusher”不是 http 状态)。在我的应用程序中,我更喜欢编写 API 并将一些标准响应链接到我的业务逻辑。
best practice is to use http status for these kind of stuff.
But it will only work with the http state code.
So if you have a response related to business logic and not to 2xx or 4xx status, you will need your
render :text => "pusher"
approch (as "pusher" is not an http state).In my apps, I prefer write an API and link some standart response to my business logic.