0

encodeURIwith を使用するこの動作に気付きましたform。を使用して URL をエンコードしましたencodeURI

<html>
<head>
</head>
<body>
<form id="form">
</form>
<button id="button">Click Me to submit form</button>
</body>
<script>
    var button = document.getElementById("button");
    button.onclick = function() {
        var form = document.getElementById("form");
        var url = "b.html?name=" + encodeURIComponent("First Name");
        form.action = url;
        form.method = "post";
        form.submit();
    }
</script>
</html>

フォームを送信すると、ブラウザのアドレス バーに期待どおりの結果が表示されません。私は期待していました

b.html?name=First%20Name

私が得たものは -

b.html?name=First Name

なぜこれが起こっているのか誰か教えてもらえますか?

ノート-

この問題は、Firefox でのみ直面しています (バージョン 24.0 を使用しています)。クロムでは、期待どおりに動作します。

ありがとう

4

1 に答える 1

2

Firefox は、ユーザーが読みやすいように、デコードされたバージョンの URL を URL バーに表示します。エンコードされた文字列は引き続きサーバーに送信されます。

また、URL バーの内容をコピーしてテキスト エディターに貼り付けると、エンコードされた文字が含まれます。

于 2013-10-30T09:56:27.270 に答える