2016-08-03 30 views
0

在部分代碼中,我無法更改。函數encodeURIComponent()將在我傳入的URL上執行,我的一個API調用中包含必須作爲+符號發送的+符號。現在它獲得內容替換「%2B」,這使得API失敗..如何在encodeURIComponent(「+」)中保留+號?

我一直在使用逃生和「%2B」和反斜線盈我的+號爲「+」的嘗試,但沒有到目前爲止給出..

如何使encodeURIComponent方法(「+」)+回報,而不是「%2B」

謝謝affordtime的幫助

回答

0

暫時換出加號的任意標記,例如

encodeURIComponent("one £ + £ two".replace(/\+/g, '*PLUS*')).replace('*PLUS*', '+'); 

爲您提供:

"one%20%C2%A3%20+%20%C2%A3%20two" 

...即保留了+,這也將通過decodeURIComponent()生存的反向行程。

0

如果不更改代碼,則無法執行此操作。 encodeURIComponent將永遠不會輸出+標誌。

如果你或其他人可以更改代碼,你可以使用this answer

encodeURIComponent(search).replace(/%20/g, "+"); 

,然後使用該輸入您要+是空格。