如何获取路线的完整URL?
How to get the full URL of the route?
我有一个 Sinatra template file, which sends a POST request to the route /en/signup
(en
是语言环境)。
我需要从 /en/signup
中提取 en
。我尝试在下面的代码中使用 request.path
,但只包含 /signup
,而不包含 /en/signup
。日志文件显示调用了 /en/signup
。
我可以在路线 post '/signup'
中使用什么结构来获得 /en/signup
?
醒醒吧,尼奥
来自 route
文件:
before '/:locale/*' do
I18n.locale = params[:locale]
request.path_info = '/' + params[:splat ][0]
end
解决了我的问题:redirect to('/' + I18n.locale.to_s + '/signup-success')
。
如果可以使用java:
var url = document.URL;
var pieces = url.split("/");
然后只需在需要的时间和地点拆分即可。变量 pieces
是一个数组。要进一步拆分,请使用 pieces = pieces[1
(或其他)].split("/
(或其他 ");
希望对您有所帮助!
您好先生,如果您使用 php 请尝试下面的代码。它将获得 url 的完整路径,例如 /example/en/signup.
$_SERVER['REQUEST_URI']
此外,您还可以获得包括 http 主机 (localhost) 的代码,请尝试以下代码
$输出="http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
回声$输出;
我有一个 Sinatra template file, which sends a POST request to the route /en/signup
(en
是语言环境)。
我需要从 /en/signup
中提取 en
。我尝试在下面的代码中使用 request.path
,但只包含 /signup
,而不包含 /en/signup
。日志文件显示调用了 /en/signup
。
我可以在路线 post '/signup'
中使用什么结构来获得 /en/signup
?
醒醒吧,尼奥
来自 route
文件:
before '/:locale/*' do
I18n.locale = params[:locale]
request.path_info = '/' + params[:splat ][0]
end
解决了我的问题:redirect to('/' + I18n.locale.to_s + '/signup-success')
。
如果可以使用java:
var url = document.URL;
var pieces = url.split("/");
然后只需在需要的时间和地点拆分即可。变量 pieces
是一个数组。要进一步拆分,请使用 pieces = pieces[1
(或其他)].split("/
(或其他 ");
希望对您有所帮助!
您好先生,如果您使用 php 请尝试下面的代码。它将获得 url 的完整路径,例如 /example/en/signup.
$_SERVER['REQUEST_URI']
此外,您还可以获得包括 http 主机 (localhost) 的代码,请尝试以下代码
$输出="http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
回声$输出;