使用自定义状态代码或为ajax渲染自定义文本?

时间:2011-10-14 07:09:26

标签: ruby-on-rails http

这是一种更好的方法吗?自定义状态代码或为ajax呈现文本

render :text => "pusher"

render :nothing => true , :status => 900

代表

$.ajax({
  success : function(d , s , r){
    if (d == "pusher"){
    }
  }
});

2 个答案:

答案 0 :(得分:2)

如果您想表明成功,那么必须返回2XX status code,否则您不会说HTTP。如果您没有返回有效的状态代码,那么您不能指望客户对您的回复做任何有用的事情。

因此,您必须返回其中一个2XX状态代码,以便留下:

render :text => 'pusher'

是您唯一可行的解​​决方案。

答案 1 :(得分:1)

最佳做法是对这些东西使用http状态。

但它只适用于http状态代码。 因此,如果您有与业务逻辑相关的响应而不是2xx或4xx状态,则需要render :text => "pusher" approch(因为“推送器”不是http状态)。

在我的应用中,我更喜欢编写API并将一些标准回复链接到我的业务逻辑。