将变量传递给Javascript来自"漂亮"网址

时间:2015-05-28 06:10:35

标签: javascript php jquery html url

我的问题是,我想创建"漂亮"访问者的网址如下所示:

http://domain.com/Name

我的用户经常会将朋友发送给我的服务,并且我已经为每个人创建了自定义页面,并在标题中显示了该人的名字。例如," John,这是修复此小部件的简单方法"

然后我将页面保存为自定义文件夹中的index.html文件,因此自定义页面的链接结构是域/名称,其中Name是其名字。

这变得乏味,我很乐意使用Javascript来自动化这个过程。但是,我可以找到关于将变量传递给Javascript的唯一文档涉及"丑陋" domain / jspass2.html等域名?FirstName = John& LastName = Smith

有没有办法美化这些域,并仍然将变量传递给javascript代码,将其名称输入到html代码中?我不想"斗篷"一个丑陋的域(例如,使用href)

感谢您的帮助!

4 个答案:

答案 0 :(得分:2)

嗯,你可以做到更漂亮"通过使查询字符串更清洁。

示例:

http://www.domain.com/?John,Smith

索引文件中的javascript可以读取。

var getQueryString = function() {
    queryString = window.location.search;
    queryStringCleaned = queryString.substring(queryString.indexOf('?') + 1 );

    return queryStringCleaned;
};

答案 1 :(得分:0)

如果“http://domain.com/Name”是您的域,则变量firstName将具有值“Name”。

var firstName = window.location.pathname.match(/([\w-]+)\/?.*/)[1];

答案 2 :(得分:-1)

您可以在JS中获取整个URL,然后手动解析它#34;#34;。使用this正则表达式(例如)查找传递的参数。

答案 3 :(得分:-1)

除了保罗之外,我还给你写了一些从你提供的网址中提取名字字段的东西。如果格式一致,并且您可以在javascript中获取网址,则可以使用此方法。您可能必须先创建页面,然后重定向用户,因为javascript是客户端语言,页面已经呈现。

var url = "domain/jspass2.html?FirstName=John&LastName=Smith";
url = url.slice(url.indexOf("FirstName=") + 10, url.length);
url = url.slice(0, url.indexOf("&"));