我正在Rails中执行AJAX请求,在执行之后,我想修改URL并将所有参数放在那里。
这就是我在Rails控制器中获取相对URL的方式:
@url_params = request.original_fullpath
# => /members/info/detail?currency=usd&year=2016
然后,在JS文件中:
console.log("<%= @url_params %>");
# => /members/info/detail?currency=usd&year=2016
所以我试过了:
var url = "<%= @url_params %>";
var replaced_url = url.replace("&", "&");
# => /members/info/detail?currency=usd&year=2016
但它既不起作用。
当我history.pushState("", "", replaced_url);
时,网址仍然是$amp;
而不是&
。
如何在没有&
字符的情况下推送网址?
谢谢
答案 0 :(得分:0)
更改
var replaced_url = url.replace("&", "&");
到
var replaced_url = url.replace(/&/g, '&');
好像,url有多个&amp;'s,因为单个替换字符串不起作用,所以考虑用这些东西替换组。
答案 1 :(得分:0)
我相信默认情况下rails html会对你的输出进行编码以获得未编码的输出试试
var url = "<%=raw @url_params %>";