Чтобы закодировать URL-адрес, как было сказано ранее, у вас есть две функции:
encodeURI()
и
encodeURIComponent()
. Причина в том, что первая сохраняет URL-адрес с риском того, что вы оставите слишком много вещей без сохранения, а второй кодирует все необходимое.
Сперва вы можете скопировать недавно экранированный URL-адрес в адресную строку (например), и это сработает. Однако ваши неограниченные '& amp;' будут вмешиваться в полевые разделители, '=' будут мешать именам полей и значениям, а «+» будут выглядеть как пробелы. Но для простых данных, когда вы хотите сохранить природу URL-адреса того, что вы ускользаете, это работает.
Второе - это все, что вам нужно сделать, чтобы убедиться, что ничто в вашей строке не связано с URL-адресом. Он оставляет различные несущественные символы незанятыми, чтобы URL-адрес оставался максимально понятным для человека без помех. URL-адрес, закодированный таким образом, больше не будет работать как URL-адрес, не отменив его.
Итак, если вы можете потратить время, вы всегда хотите использовать encodeURIComponent () - перед добавлением пар имен / значений кодируйте оба имя и значение, используя эту функцию, прежде чем добавлять их в строку запроса.
У меня возникло трудное время придумывать причины использования encodeURI () - я оставлю это для умных люди.