如何获取路线的完整URL?

How to get the full URL of the route?

我有一个 Sinatra template file, which sends a POST request to the route /en/signupen 是语言环境)。

我需要从 /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]";

回声$输出;