我试图通过以下代码创建一个ajax调用
$.ajax({
url: '/',
method: 'GET',
data: data
}).done(function(response){
console.log(response);
}).fail(function(){
console.log("doesn't work");
})
控制器:
if request.xhr?
return "hello"
end
ajax调用有效,但我得到的响应是一个html页面,而不是实际的字符串"你好"。那是为什么?
答案 0 :(得分:0)
Rails总是忽略控制器操作的返回值。要回复客户端(浏览器),您必须使用render
或其衍生产品之一(head
,redirect_to
,send_file
,send_data
)。
if request.xhr?
render plain: "hello"
end