如何使用javascript和HTML通过链接传递数据?

时间:2017-09-15 20:54:42

标签: javascript html url hyperlink

我有一个网站,我有一个名单列表,我需要在点击名称时打开一个新页面。我需要这个页面显示点击名称的数据,所以我需要通过链接传递一些数据。这可以用PHP完成,但我可以用HTML和Javascript做到吗?必须有一种方法来处理没有服务器端逻辑的动态内容。

编辑:我想澄清一下,本网站的目的是以更加简化的方式使用现有网站的API。我只是想调整他们的设置,因此编写服务器逻辑似乎过多,因为我不需要持久数据(使用API​​)。这个问题是关于我应该如何在这个自定义前端的各个页面周围传递API数据。

3 个答案:

答案 0 :(得分:0)

您可以像这样设置内联uri参数:

<a href="example.com?name=sarah"> Sarah</a>// add a '?' followed by any number of parameters in the format of 'key=value'

您使用问号代表变量的开头,然后您可以根据需要添加任意数量(带限制但非常高)

... example.com?key1=value1+key2=value2

答案 1 :(得分:0)

看看这个方法:

您可以将查询字符串中的数据传递为:

  

http://www.yourwebsite.com?name=About

您可以使用此功能从查询字符串中获取数据:

{
    "Name"    : "About"
}

getUrlVars()函数将返回:

document.getElementById('p').innerHTML(getUrlVars()["name"]);

现在,您可以使用javascript在任何地方打印:

document.write(getUrlVars()["name"]);

locations: string[] = ["Seattle", "Woodinville", "Krasnoyarsk", "Stockholm", "Beijing"];

...

ngOnInit() {

    this.locations.forEach(function(element) {
      this.weatherService.getWeather(element).subscribe((data) => {
        console.log(data);
      });
    });

  }

答案 2 :(得分:0)

有一些选项,但一般认为你可以改变服务器在没有服务器端逻辑的情况下发送的内容是不合逻辑的。服务器用什么逻辑进行更改?

但是,如果您正在提供相同的页面而只是更改其上的名称,那么您可以做的一件事就是让页面向下发送静态内容而不用任何名称,只需添加

<span class='name-of-linked-user'></span>

无论名称出现在哪里。那时,让john doe的链接转到&#34; page.html?name = john%20doe&#34;并向页面添加一些静态jquery。从http://www.jquerybyexample.net/2012/06/get-url-parameters-using-jquery.html复制get url参数代码:

function GetURLParameter(sParam)
{
var sPageURL = window.location.search.substring(1);
var sURLVariables = sPageURL.split('&');
for (var i = 0; i < sURLVariables.length; i++) 
{
    var sParameterName = sURLVariables[i].split('=');
    if (sParameterName[0] == sParam) 
    {
        return sParameterName[1];
    }
}
}​

然后一个简单的jquery循环遍历静态内容,使其“动态”

$('.name-of-linked-user').each(function(){
  $(this).text(GetURLParameter('name'));
});