我有一个rails应用程序,其中我有跟随控制器操作。
def index
....
....
@currency = params["currency"].present? ? params["currency"] : "INR"
@check_in_date = params["arrival_date"].present? ? params["arrival_date"] : Date.today.to_s
@check_out_date = params["departure_date"].present? ? params["departure_date"] : (Date.today + 1).to_s
....
....
end
我有javascript,我正在尝试制作像这样的ajax请求。 filename.html.haml
else{
hotel_id = id.slice(6)
$.ajax({
url: "/single_hotel/"+hotel_id,
data: {check_in_date: #{@check_in_date}, check_out_date: #{@check_out_date}, longitude: #{@longitude}, latitude: #{@latitude}, rooms: #{@rooms}, adults: #{@adults}, children: #{@children}, currency: #{@currency} },
type: 'get'
});
}
当我检查chrome控制台中的sources选项卡时,我看到了这一点。
$.ajax({
url: "/single_hotel/"+hotel_id,
data: {check_in_date: 2016-08-08, check_out_date: 2016-08-09, longitude: 34.854, latitude: 32.3213, rooms: 1, adults: 1, children: 0, currency: INR },
type: 'get'
});
当我尝试发出ajax请求时,我得到“VM18204:52未捕获的ReferenceError:未定义INR”。
此外,如果我删除货币并提出请求,我会获得以下值以便检入&看看日期。
[1] pry(#<Bookings::HotelsController>)> params
=> {"check_in_date"=>"2000",
"check_out_date"=>"1999",
"longitude"=>"34.854",
"latitude"=>"32.3213",
}
有人可以帮我。
答案 0 :(得分:2)
而不是这个
public ActionResult Checkout()
{
if (Session["cart"] == null)
return RedirectToAction("Index");
var checkout = new CheckoutViewModel()
{
Cart = (List<CartItem>)Session["cart"],
PaymentOptions = _context.PaymentOptions.ToList(),
ShippingOptions = _context.ShippingOptions.ToList()
};
return View(checkout);
}
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Checkout(CheckoutViewModel m)
{
if (!ModelState.IsValid)
return View();
//TODO: handle data
return RedirectToAction("OrderSuccess");
}
试试这个
data: {check_in_date: #{@check_in_date}, check_out_date: #{@check_out_date}, longitude: #{@longitude}, latitude: #{@latitude}, rooms: #{@rooms}, adults: #{@adults}, children: #{@children}, currency: #{@currency} }