我讀了這一點,更多的文章:固體的JavaScript編碼URI
When are you supposed to use escape instead of encodeURI/encodeURIComponent?
不過我還沒有找到一個堅實的編碼/解碼的URI方案。
比方說,我有這些變量
var first = 'Hello&and';
var second = "Let's have cite";
var third = 'And "hash,.#$';
var fourth = 'åäö other strange chars';
未編碼的網址是:
var url 'http://example.com/?first=' + first + '&second=' + second + '&third=' + third + '&fourth=' + fourth;
後來它應該像一個Ajax請求:
xhr = new XMLHttpRequest();
xhr.open('POST', url);
我試過這個:
var url 'http://example.com/?first=' + encodeURIComponent(first);
但它不適用於#
。那麼對於所有角色來說,什麼是可靠的編碼解決方案
我不使用jQuery,只是javascript。
據我所知,'encodeURIComponent'是用於參數的。而'encodeURI'是用於URL的#http://i.imgur.com/2xKpYd0.png在你的情況下,'#'應該使用'encodeURIComponent '(%23)當你說它不起作用時,你是什麼意思? – Pogrindis
你必須更具體一些關於「#不適用」的含義:'encodeURIComponent('和「hash,。#$')'→'」和%20%22hash%2C。% 23%24「'。 – deceze
您是否嘗試過使用'escape()'? –