我有一种非常奇怪的情况让我疯了。我有一个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”,它会失败!它毫无意义!
可能会发生什么?
答案 0 :(得分:0)
我犯了一个菜鸟错误!
如果你渲染:json你必须将响应消息转换为json,即:@ response.to_json。
另外,在html中,href必须以.json结尾,而在控制器中你也必须响应format.json。
我不知道为什么它仍然以字符串“nobids”成功。
它现在很漂亮