Чтение параметров http-запроса в формате x-www-form-urlencoded в соответствие

Smaylukk 49 1 2
Функция ПолучитьПараметрыКакСоответствие(Тело)Экспорт
	
	Результат = Новый Соответствие;
	Тело = РаскодироватьСтроку(Тело, СпособКодированияСтроки.КодировкаURL, "UTF-8");
	Тело = СтрЗаменить(Тело, "+", " ");
	ПарметрыЗначения = СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок(Тело, "&");
	Для Каждого Пар Из ПарметрыЗначения Цикл
		мПар = СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок(Пар, "=");
		Если мПар.Количество() > 1 Тогда
			СущЗначениеПараметра = Результат.Получить(мПар[0]);
			
			//Если в структуре нет такого параметра, просто его добавляем.
			Если СущЗначениеПараметра = Неопределено Тогда 
				Результат.Вставить(мПар[0], мПар[1]);
			Иначе
				//Если такой параметр есть и значени его находится в массиве, то добавляем
				//текущий параметр в массив.
				Если ТипЗнч(СущЗначениеПараметра) = Тип("Массив") Тогда 
					СущЗначениеПараметра.Добавить(мПар[1]);
					Результат.Вставить(мПар[0], СущЗначениеПараметра);
					
					//Если это второе значение параметра, то добавляем уже существующее и текущее
					//значение в массив.	
				Иначе 
					МассивЗначЭтогоПараметра = Новый Массив();
					МассивЗначЭтогоПараметра.Добавить(СущЗначениеПараметра);
					МассивЗначЭтогоПараметра.Добавить(мПар[1]);
					Результат.Вставить(мПар[0], МассивЗначЭтогоПараметра);
				КонецЕсли;
			КонецЕсли;
			
		КонецЕсли;
	КонецЦикла;
	
	Возврат Результат;
	
КонецФункции
0
Орфографическая ошибка в ПарметрыЗначения (найдено 2): Парметры
Орфографическая ошибка в значени: значени

См. также

Чтение параметров http-запроса в формате x-www-form-urlencoded в структуру

Заполнение информации о Контрагенте по ИНН через сервис api-fns.ru

Преобразование ЧтениеJSON в Соответствие

СообщениеОбработанЗапросРазрешенийИнформационнойБазы (БСП)

СообщениеОбработанЗапросРазрешенийОбластиДанных (БСП)

ЗапроситьЛицензииУникальныхУслугУМенеджераСервиса (БСП)

СообщениеПолучениеПараметровУчетаКорреспондентаУспешноЗавершено (БСП)

СообщениеОшибкаПолученияПараметровУчетаКорреспондента (БСП)

СообщениеПолучитьПараметрыУчетаКорреспондента (БСП)

Модератору