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>

しかし、ページに入ると、次のような URL を残しました: 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 に答える