我還沒有handlebars.js的,但是從我的角度來看任何經驗,你可以把代碼只是</body>
前:
<script>
var node = document.getElementById('pre-region');
node.innerHTML = node.innerHTML.replace(',', '+');
</script>
我如果它不起作用,請檢查把手js。
更新: 當您在評論中提到,如果你需要在HTTP請求/ URL中使用它,你可以使用decodeURIComponent(yourstring)
處理字符串:
decodeURIComponent('1%2B44'); // you get '1+44'
從瞭解更多關於decodeURIComponent()
方法this。在URL中,在你的情況下它應該被編碼爲region=1%2B44
;而如果你想在你的JavaScript代碼中使用它或者在網頁中顯示,它應該被解碼。
更新1
當它作爲HTTP請求參數的一部分,就應該編碼您的字符串。因此,它看起來很不錯,如果網址是:
MYDOMAIN /路/ getRegion令牌&簡檔= 111 &的dataType =所有&地區= 1%2B4
你需要做的是解碼服務器端的字符串。我假設你在控制服務器端。如果您使用Node.js,則可以使用decodeURIComponent()
方法來解碼參數。如果您使用Python或PHP作爲您的服務器語言,則應該使用該語言的decodeURIComponent()
。
更新2
以上僅更換逗號的第一場合+
溶液。爲了解決這個問題,只需使用:
<script>
var node = document.getElementById('pre-region');
node.innerHTML = node.innerHTML.replace(/,/g, '+');
// Regular Expression is used here, 'g' for global search.
</script>
PHP有replaceAll()
方法,所以我們可以說的方法添加到String.prototype
像下面,如果你想:
<script>
String.prototype.replaceAll = function(search, replacement) {
var target = this;
return target.split(search).join(replacement);
}
// Another method to replace all occasions using `split` and `join`.
</script>
我試過你的方法,它把它改成+,但傳遞給API時改變特殊字符 – anson920520
成了類似地區= 1%2B4 – anson920520
@ anson920520莫非你請給我看更多的代碼? – iplus26