jquery 代码:
$("#replace").click(function(){
$.get('/users/test', function(data){
$("#t tbody").replaceWith(data);
});
});
controller 代码:
def test
render :partial => "test"
end
我测试了 rails 3.1.3,rails 3.2.0,rails 3.2.2
jquery 的异步请求,datatype 默认是自动检测的,在 rails 3.1.3,rails 3.2.0 和以前的版本,上面的代码都能正常执行,但是在 rails 3.2.2 中,chrome 和 firefox 都会报错,chrome 的错是Uncaught Error: HIERARCHY_REQUEST_ERR: DOM Exception 3
,用 console.log 打印返回的 data,是 Document,不是字符串,jquery 把 response 当成 xml 处理了。必须自己指定 datatype 为'text',才能正常执行。
修改后的 jquery 代码:
$("#replace").click(function(){
$.get('/users/test', function(data){
$("#t tbody").replaceWith(data);
}, 'text');
});
不知道有没有人遇到同样的问题过?