如果我渲染js而不是渲染json,我会得到不同的结果。想弄清楚为什么这不能按预期工作
我的javascript看起来像这样:
$( function () {
$('.delete_post').bind('ajax:success', function () {
$(this).closest('tr').fadeOut();
}
)
});
控制器:
作品
respond_to do |format|
format.js { render :nothing => true}
end
作品
respond_to do |format|
format.js { head :ok }
end
作品
respond_to do |format|
format.json { render :json => {} }
end
不起作用
respond_to do |format|
format.json { head :ok }
end
不起作用
respond_to do |format|
format.json { render :nothing => true }
end
当我检查ajax响应中发生的事情时,我看到它不起作用的情况我得到了“parseError”。
据我所知,发送回的内容类型不同(text / javascript vs applicaiton / json),但我仍然希望最后2个案例能够正常运行,因为它们将200发送回服务器。
答案 0 :(得分:0)
format.json { head :ok }
和
format.json { render :nothing => true }
不起作用,因为他们没有返回有效的json。 head :ok
只会将响应标头设置为200,而:nothing => true
将呈现一个无效的json的空白页/文档。