Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   вопрос про декодирование в JS (https://javascript.ru/forum/misc/57531-vopros-pro-dekodirovanie-v-js.html)

javaQest 07.08.2015 17:38

вопрос про декодирование в JS
 
мне на сервер из форм приходят пробелы закодированные плюсами. Как правильно декодировать это средствами js? decodeURI и прочие не меняют плюсы. То есть, я понимаю, что можно вручную это сделать реплейсом, но может есть какой-то "универсальный" подход?

И, кстати, на что тут еще обратить внимание, что еще кроме пробелов кодируется в JS "по-своему"?

nerv_ 07.08.2015 17:51

не использовать jquery

javaQest 07.08.2015 17:57

Цитата:

Сообщение от nerv_
не использовать jquery

А с чего Вы взяли, что я его использую?

nerv_ 07.08.2015 18:09

<script src="http://code.jquery.com/jquery-2.1.4.min.js"></script>
<script>
    var chr = ' ';
    alert($.param(chr));
    alert(encodeURIComponent(chr));
</script>

javaQest 07.08.2015 18:11

nerv_,
Какое это отношение имеет к моему вопросу?

javaQest 07.08.2015 18:14

nerv_,
Кстати, жеквери, в данном случае, закодировало адекватно. непонятно, почему нейтив JS не кодирует так.

laimas 07.08.2015 18:31

Цитата:

Сообщение от javaQest
мне на сервер из форм приходят пробелы закодированные плюсами. Как правильно декодировать это средствами js?

Приходят на сервер, а проблемы решать на JS? Для этого существует функции серверного языка, например в РНР:

echo urldecode('aaaa+aaaa'); //aaaa aaaa

javaQest 07.08.2015 18:34

laimas,
Дело в том, что данный сервер тоже на JS, иначе вопроса бы не возникло, естественно, капитан.

Erolast 07.08.2015 18:46

Цитата:

Сообщение от laimas (Сообщение 383148)
Приходят на сервер, а проблемы решать на JS?

В чем противоречие?

Цитата:

Для этого существует функции серверного языка, например в РНР:
echo urldecode('aaaa+aaaa'); //aaaa aaaa

Чем JS не серверный язык?

---

По теме: ты же ноду используешь, да? https://nodejs.org/api/querystring.html попробуй.
Кстати, когда ты там с нами с Кобезззой об элитном кодинге договоришь?)

javaQest 07.08.2015 18:57

Цитата:

Сообщение от Erolast
Кстати, когда ты там с нами с кобезззой об элитном кодинге договоришь?)

Мне честно говоря, надоела эта бестолоквщина. В вашей с ним реализации не было множественного наследования как такового, там была реализация множественного наследования для отдельно взятого объекта. Каждый раз придется пилить заново эту реализацию для каждого частного случая. Я пытался вести какой-то, более менее цивилизованный диалог, но эта обезьяна просто тяфкает, с ней трудно разговаривать на человеческом языке, практически не возможно. Любая аргументация с моей стороны сопровождается невнятным изрыганием произвольных звуков. Да и реализация, была твоя, а не его. Я плюнул на это, все равно не переорешь свору. Оно мне надо? Я знаю за себя, и прекрасно вижу за него. Доказывать что-либо, кому-либо я не собираюсь. И к той теме возвращаться не буду.

Erolast 07.08.2015 19:04

Цитата:

В вашей с ним реализации не было множественного наследования как такового, там была реализация множественного наследования для отдельно взятого объекта.
Как? Я же написал интерфейс для установки множественного родителя любому классу.

Цитата:

Каждый раз придется пилить заново эту реализацию для каждого частного случая.
Не понял. Покажешь, что за частные случаи? Попробую исправить.

Цитата:

Я плюнул на это, все равно не переорешь свору. Оно мне надо?
Ну, хоть бы отписался, что прекращаешь спор, а то как-то невежливо вышло.

laimas 07.08.2015 19:06

Цитата:

Сообщение от Erolast
Чем JS не серверный язык?

А это как понимать тогда?

Цитата:

Сообщение от javaQest
И, кстати, на что тут еще обратить внимание, что еще кроме пробелов кодируется в JS "по-своему"?

Это о ком речь?

javaQest 07.08.2015 19:09

Цитата:

Сообщение от Erolast
Я же написал интерфейс для установки множественного родителя любому классу.

Ладно, щас посмотрю еще раз на твой код, я в прошлый раз нормально не разобрал его, некогда было, да и синтаксис этот я не знаю нормально. Посмотрю, отпишусь

javaQest 07.08.2015 19:11

Цитата:

Сообщение от laimas
Это о ком речь?

Речь о том, что в JS decode/encode -- взаимные операци. И кодирует js не так как это обычно делается браузерами. То есть, js понимает свое, а не чужое.

laimas 07.08.2015 19:30

Цитата:

Сообщение от javaQest
То есть, js понимает свое, а не чужое.

Ерунда какая:

//PHP
echo rawurlencode('текст <> текст'); //%D1%82%D0%B5%D0%BA%D1%81%D1%82%20%3C%3E%20%D1%82%D0%B5%D0%BA%D1%81%D1%82
//JS
alert(decodeURIComponent('%D1%82%D0%B5%D0%BA%D1%81%D1%82%20%3C%3E%20%D1%82%D0%B5%D0%BA%D1%81%D1%82')) //текст <> текст
//JS
encodeURIComponent('<< текст') //%3C%3C%20%D1%82%D0%B5%D0%BA%D1%81%D1%82
//PHP
echo rawurldecode('%3C%3C%20%D1%82%D0%B5%D0%BA%D1%81%D1%82'); //<< текст

Erolast 07.08.2015 19:35

На сервере JS, а не PHP используется.

laimas 07.08.2015 19:41

Цитата:

Сообщение от Erolast
На сервере JS, а не PHP используется.

Ну тогда "свой своего" тем более должен понимать, а то какой-то странный вывод - То есть, js понимает свое, а не чужое. :)

javaQest 07.08.2015 20:27

Цитата:

Сообщение от laimas
Ну тогда "свой своего" тем более должен понимать

Браузер кодирует текст из формы, а не JS


Часовой пояс GMT +3, время: 02:06.