【发布时间】:2020-05-16 10:32:59
【问题描述】:
我正在测试将数据输入test1.html 并单击提交的要求。我在 url 中获取另一个名为 test2.html 的 html 的查询参数。现在读取 url 数据后,我需要显示值。我可以提取数据但如何在 html 正文中显示?
我正在获取的 URL test2.html。
file:///D:/test/testing/test2.html?UserFirstName=aa&UserLastName=bb&bday=2020-01-21&Status=consultant&vendorFirstName=aaa&vendorLastName=ccc&employerFirstName=bbb&employerLastName=ddd
test2.html 中的 javascript 和 html 代码 - 试过了,但它没有显示值。有什么帮助吗?
<html>
<body>
<script>
urlp=[];
s=location.toString().split('?');
s=s[1].split('&');
for(i=0;i<s.length;i++)
{
u=s[i].split('=');
urlp[u[0]]=u[1];
};
var userfirstname=urlp['UserFirstName'];
var userlastname=urlp['UserlastName'];
var vendorfirstname=urlp['vendorFirstName'];
var vendorlastname=urlp['vendorLastName'];
</script>
<div class="tree">
<ul>
<li>
<a href="#">userfirstname</a>
<a href="#">userlastname</a>
<ul>
<li>
<a href="#">vendorfirstname</a>
<li>
<a href="#">vendorlastname</a>
</li>
</li>
</ul>
</li>
</ul>
</div>
</body>
</html>
<html>
<body>
<script>
urlp=[];
s=location.toString().split('?');
s=s[1].split('&');
for(i=0;i<s.length;i++)
{
u=s[i].split('=');
urlp[u[0]]=u[1];
};
var userfirstname=urlp['UserFirstName'];
var userlastname=urlp['UserlastName'];
var vendorfirstname=urlp['vendorFirstName'];
var vendorlastname=urlp['vendorLastName'];
</script>
<div class="tree">
<ul>
<li>
<a href="#">userfirstname</a>
<a href="#">userlastname</a>
<ul>
<li>
<a href="#">vendorfirstname</a>
<li>
<a href="#">vendorlastname</a>
</li>
</li>
</ul>
</li>
</ul>
</div>
</body>
</html>
【问题讨论】:
-
您没有在
<script>标记中使用这些变量,因此浏览器只会将它们视为纯文本。您需要编写 javascript 代码来设置这些链接的 innerText 属性。给他们一些 id,这样你就可以通过document.getElementById(id)获得他们。 -
我有两个 html。在第一个 html 中,用户输入名字、姓氏、状态、供应商详细信息、雇主代号并单击提交。在第二个 html 中,我得到了 url 中的值。我在第二个 html 中读取了这些值,并根据状态以树结构显示它们。我提到的代码和细节来自第二个 html。请根据此要求告诉我。
-
您的错误在第二个 html 中,在您显示的代码中。请再次仔细阅读我的评论并打开我给你的 innerText 链接。该链接说明了修复此错误所需的操作。
-
将用户传入的内容直接放在页面上存在安全风险。它被称为跨站点脚本或 XSS,有许多方法可以降低风险。要查看您的代码是否属于主题,请尝试传入
<script>alert('xss')</script>作为您的用户名。 -
@GrahamPHeath,这只是一个原型。实际项目将涵盖所有安全方面。
标签: javascript html