来自控制器的Ajax响应

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参数调用我CarsControllerreserved_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响应?

Mel*_*lon 8

谢谢你们,我找到了解决方案.

我首先将@cars转换为字符串cars_str,

然后render :json => cars_str在我的控制器中使用

在我的JavaScript中我可以得到这个cars_str字符串xmlhttp.responseText