2017-09-15 24 views
0

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

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

回答

0

看看这个方法:

您可以通过在查询字符串的数据:

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

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

function getUrlVars() 
{ 
    var vars = [], hash; 
    var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&'); 
    for(var i = 0; i < hashes.length; i++) 
    { 
     hash = hashes[i].split('='); 
     vars.push(hash[0]); 
     vars[hash[0]] = hash[1]; 
    } 
    return vars; 
} 

的getUrlVars()函数将返回:

{ 
    "Name" : "About" 
} 

现在,你可以在任何地方使用JavaScript打印它:

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

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

有几个选项,但一般相信你可以改变什么服务器发送下来没有服务器端逻辑是不合逻辑的。服务器将使用什么逻辑来进行更改?

但是,如果你服务了相同的页面,但简单地改变它的名字,有一两件事你可以做的是使页面向下发送静态内容没有名称的任何地方,只需把

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

的任何地方名字应该出现。在这一点上,让john doe的链接转到“page.html?name = john%20doe”并添加一些静态jQuery到页面。从http://www.jquerybyexample.net/2012/06/get-url-parameters-using-jquery.html复制的获取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')); 
}); 
+0

感谢您的回答!我知道我的推理可能会让人困惑。阅读我的编辑,看看你的想法。 –

相关问题