3
<script type="text/javascript">
var email = document.write(localStorage.getItem('email'));
var pass = document.write(localStorage.getItem('pass'));
var url = document.write(document.URL);
document.location.href = url+"?email="+email+"&pass="+pass;
</script>

但是当我进入页面时,我留下了这样的网址: http ://example.com/undefined ?email=undefined&pass=undefined

没有发生......有人知道这个问题吗?非常感谢!

4

1 回答 1

1

嗯,document.write(…)这里是怎么回事?你不想打印任何东西:

var email = localStorage.getItem('email');

但是,如果您想打印出测试值:

var email = localStorage.getItem('email');
document.write(email);

(另见console.log(…)

您应该使用以下方法转义参数encodeURIComponent(…)

location.href = url + "?email=" + encodeURIComponent(email) +
                "&pass=" + encodeURIComponent(pass);

你也不应该使用 document.write 。有很多更合理的方法可以在您的网站上动态更改内容。

您不应使用 GET 请求发送密码,因为它们会出现在浏览器、代理和服务器日志中。通过不可见的表单使用 POST 请求。

于 2013-06-22T18:03:56.883 回答