jQuery无法从Rails 3应用程序接收数据

时间:2012-02-20 02:51:21

标签: jquery ruby-on-rails-3

我有一种非常奇怪的情况让我疯了。我有一个rails应用程序,它向jQuery发送一个简单的字符串并将其打印出来。这是我的代码:

jQuery的:

    jQuery(document).ready(function() {
    jQuery('.bid a').livequery('click', function() {
        obj = jQuery(this);
        jQuery.post(obj.attr('href'), function(data) {
            alert(data)
        });
        return false;
    });
    })

Rails控制器:

def send_message
    respond_to do |format|
      format.js do
          @res_str = "nobids"
          render :json => @res_str
      end 
    end
end

就像那样,它运行正常,它会显示一个字符串为“nobids”的警报。但是,如果我想发送任何其他字符串,让我们说“nobidss”,它会失败!它毫无意义!

可能会发生什么?

1 个答案:

答案 0 :(得分:0)

我犯了一个菜鸟错误!

如果你渲染:json你必须将响应消息转换为json,即:@ response.to_json。

另外,在html中,href必须以.json结尾,而在控制器中你也必须响应format.json。

我不知道为什么它仍然以字符串“nobids”成功。

它现在很漂亮