Mel*_*lon 3 ruby-on-rails ruby-on-rails-3
我的javascript发送Ajax请求,它将调用一个控制器函数,然后控制器函数响应Ajax请求.我的问题出在控制器响应部分.
我的javascript向控制器发送Ajax请求:
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange=function(){
if (xmlhttp.readyState==4 && xmlhttp.status==200){
//RENDER RESPONSE @cars here
}
}
xmlhttp.open("GET","/cars/reserved_cars/"+customer_id,true);
xmlhttp.send();
Run Code Online (Sandbox Code Playgroud)
所以,上面的ajax请求将使用as参数调用我CarsController的reserved_cars函数customer_id.
我的汽车控制器:
class CarsController < BaseController
def reserved_cars
customer_id=params[:customer_id]
@cars = Car.getCars(customer_id)
end
...
end
Run Code Online (Sandbox Code Playgroud)
我的控制器通过查询汽车模型与customer_id获取所有汽车.
一切正常,我只是不知道如何将控制器中的@cars作为我的ajax请求响应到我的javascript(我在javascript中的地方评论了" // RENDER RESPONSE @cars here ")
那么,如何在我的javascript中获取@cars响应?
谢谢你们,我找到了解决方案.
我首先将@cars转换为字符串cars_str,
然后render :json => cars_str在我的控制器中使用
在我的JavaScript中我可以得到这个cars_str字符串xmlhttp.responseText