我有一个Sinatra template file,它向route /en/signup
发送POST请求(en
是区域设置)。
我需要从en
中提取/en/signup
。我尝试在以下代码中使用request.path
,但仅包含/signup
,而不是/en/signup
。日志文件显示已调用/en/signup
。
我可以在路线post '/signup'
中使用哪种构造来获取/en/signup
?
答案 0 :(得分:1)
醒来,Neo。
来自route
档案:
before '/:locale/*' do
I18n.locale = params[:locale]
request.path_info = '/' + params[:splat ][0]
end
答案 1 :(得分:1)
这解决了我的问题:redirect to('/' + I18n.locale.to_s + '/signup-success')
。
答案 2 :(得分:0)
如果你可以使用java:
var url = document.URL;
var pieces = url.split("/");
然后简单地分开你需要的地方和时间。变量pieces
是一个数组。要进一步拆分使用pieces = pieces[1
(或其他)].split("/
(或其他");
我希望这有帮助!
答案 3 :(得分:0)
你好先生,如果你使用PHP尝试下面的代码。它将获取url的完整路径,例如/ example / en / signup。
$ _ SERVER [ 'REQUEST_URI']
答案 4 :(得分:0)
另外你可以包括http主机(localhost)试试下面的代码
$ output =“http:// $ _ SERVER [HTTP_HOST] $ _SERVER [REQUEST_URI]”;
echo $ output;