我有这段代码:
var jqxhr = $.ajax({
url: "/customers/shipments/get_carrier_products_and_prices_for_shipment.json",
type: "POST",
dataType: "json",
data: data
})
和控制器的最后一行:
if @carrier_products_and_prices.length > 0
@digest = params[:digest]
@html = render_to_string(partial: "components/customers/shipments/carrier_products_and_prices_for_shipment_table.html.haml", locals: {carrier_products_and_prices: @carrier_products_and_prices})
else
@html = render_to_string(partial: "components/customers/shipments/no_carrier_products_available.html.haml", locals: {carrier_products_and_prices: @carrier_products_and_prices})
end
哪个击中了rails控制器。我的问题是,如何控制/追加额外的数据到rails返回的响应对象?现在,它只返回一个html字符串,我也希望能够发送一个响应ID
答案 0 :(得分:2)
看起来您的客户端期待JSON正文。只需创建要返回给客户端的值的哈希值,然后调用render json: hash
,其中hash
包含要作为JSON返回给客户端的值。
答案 1 :(得分:1)
由于你已经在使用JSON dataType
,所以没有什么可以阻止你将你的东西打包在一个对象中:
{
"html": "<div>...</div>",
"responseID": 69
}