1

値が

custAddress=CustomerAddress.do?fisrtName=scott&lastName=Miles

送信する前にエンコードして、 & のような文字を %26 etch に置き換えることができるようにしたい

javascript 組み込みの encodeURI("urlToencode") を使用してみましたが、& のような文字をエンコードしませんか?

4

2 に答える 2

4

このコード行を試してください、

encodeURIComponent("fisrtName=scott&lastName=Miles");
于 2013-03-09T05:14:06.433 に答える
1

https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/encodeURIComponentを使用します

URLクエリ文字列の各動的部分(名前と値)でそれを呼び出す必要があります。したがって、問題は、のURIコンポーネントは何であるかということです。これは、前にあるcustAddress=CustomerAddress.do?fisrtName=scott&lastName=Milesため、実際にはURLのようには見えません。=?

私が理解できる最も意味のあることは、完全なURLは次のようなものであるということです。

http://myserver/file.do?custAddress=CustomerAddress.do?fisrtName=scott&lastName=Miles

その場合、次のようにURLを作成する必要があります

var custAddress = "CustomerAddress.do?fisrtName=scott&lastName=Miles";
var initialPath= "/path/to/file.do?";
var url = initialPath + "custAddress=" + encodeURIComponent(custAddress);

あなたが言及したのでjQuery、あなたはを使うことができ、$.paramよりきれいに見え、あなたのためにエンコーディングを行い、そしてあなたはそれに複数のクエリパラメータを一度に与えることができます

var url  = initialPath + $.param({
    custAdrress: custAddress, 
    otherParam: "paramVal",
    // Both the param name and value need to be encoded and $.param does that for you
    "funny Name & Param": "funny & value ="
});
于 2013-03-09T05:15:23.423 に答える