Кодировка URL для кодирования пробелов с плюсом
У меня есть приложение, которое должно подписать данные формы, прежде чем они будут отправлены на сервер. В методе подписи я должен экранировать все входные значения формы с помощью javascript, подписать их и затем отправить подписанные данные на сервер для перекрестного сопоставления. Удаленный сервер экранирует данные формы таким образом, что он кодирует все пробелы плюсом.
Так что, если мои данные формы:
this is test :)
Кодированный вывод должен быть
this+is+test+%3A)
Но я проверял javascript-коды encodeURIComponent, encodeURI и escape. Все они дают мне следующий вывод:
this%20is%20test%20%3A)
Есть идеи, какая функция подходит для этого?
1 ответ
Это довольно просто сделать замену самостоятельно:
var encoded = escape(s).replace(/%20/g, "+");
alert(encoded); // outputs "this+is+test+%3A)"