Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Django
  • » Точка с запятой в параметре POST запроса [RSS Feed]

#1 Фев. 18, 2013 13:40:23

tibs
От:
Зарегистрирован: 2011-06-30
Сообщения: 57
Репутация: +  0  -
Профиль   Отправить e-mail  

Точка с запятой в параметре POST запроса

Отправляю POST запрос с такими параметрами (так отображается в Firebug):


report_id=1&comment=&report_params={"hours":"Actual","quarter":"8","availableColumns":["Manager","Cost Center"],"dependentColumns":[],"filters":{"Manager":["Ivan; Ivanov"]}}

В ответе получаю 500 ошибку:

Exception Type: JSONDecodeError at /reports/add_report_task/
Exception Value: Unterminated string starting at: line 1 column 121 (char 121)
Request information:
GET: No GET data

POST:
comment = u''
Ivanov“]}} = u''
report_params = u'{”hours“:”Actual“,”quarter“:”8“,”availableColumns":,“dependentColumns”:,“filters”:{“Manager”:["Ivan'
report_id = u'1'

POST параметры совершенно другие. Это все наверное из-за точки с запятой? Подскажите, пожалуйста, как исправить эту проблему.



Отредактировано tibs (Фев. 18, 2013 13:47:05)

Офлайн

#2 Фев. 18, 2013 14:01:39

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Точка с запятой в параметре POST запроса

Каким образом этот POST вообще получаете?



Офлайн

#3 Фев. 18, 2013 14:04:32

tibs
От:
Зарегистрирован: 2011-06-30
Сообщения: 57
Репутация: +  0  -
Профиль   Отправить e-mail  

Точка с запятой в параметре POST запроса

FishHook
Каким образом этот POST вообще получаете?
Форма с выбором колонок и фильтров.



Офлайн

#4 Фев. 18, 2013 14:16:48

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Точка с запятой в параметре POST запроса

Код покажите!



Офлайн

#5 Фев. 18, 2013 14:28:35

tibs
От:
Зарегистрирован: 2011-06-30
Сообщения: 57
Репутация: +  0  -
Профиль   Отправить e-mail  

Точка с запятой в параметре POST запроса

прикрепил

UPD: такая же проблема возникает и с ‘&’



Отредактировано tibs (Фев. 18, 2013 16:01:41)

Прикреплённый файлы:
attachment 1.js (13,6 KБ)

Офлайн

#6 Фев. 18, 2013 19:19:59

nnmware
Зарегистрирован: 2012-07-21
Сообщения: 133
Репутация: +  13  -
Профиль   Отправить e-mail  

Точка с запятой в параметре POST запроса

А зачем Вы к formdata прибавляете еще report_id=1&comment=& и параметры отчета?
Что мешает их добавить в formdata, кидать просто массив в ПОСТЕ и на стороне сервера разобрать?
И stringify так понимаю тогда не надо.
Названия ключей пересекаются?

Офлайн

#7 Фев. 20, 2013 13:19:14

tibs
От:
Зарегистрирован: 2011-06-30
Сообщения: 57
Репутация: +  0  -
Профиль   Отправить e-mail  

Точка с запятой в параметре POST запроса

nnmware
А зачем Вы к formdata прибавляете еще report_id=1&comment=& и параметры отчета?Что мешает их добавить в formdata, кидать просто массив в ПОСТЕ и на стороне сервера разобрать?И stringify так понимаю тогда не надо.Названия ключей пересекаются?
Тут мне надо сказать, что это код не мой, и я просто разместил объяву.. ))

Такая архитектура у проекта. Раньше параметры отчета сохранялись в базе данных, а теперь передаются в ПОСТ запросе, ну и логичнее вроде передать одним параметром JSON, а потом его уже разобрать?



Офлайн

#8 Фев. 21, 2013 05:45:15

nnmware
Зарегистрирован: 2012-07-21
Сообщения: 133
Репутация: +  13  -
Профиль   Отправить e-mail  

Точка с запятой в параметре POST запроса

Конечно логичнее передать одним ПОСТом.
Но если нет варианта со скидыванием всего в один словарь- надо Вам просто курить доки, как правильно report_params сериализовать для передачи, чтобы спецсимволы строку не разбивали. то что строка запроса не такая должна быть- однозначно. Я просто не сталкивался сам с таким, навскидку точно не скажу, ибо не знаю.

Офлайн

  • Начало
  • » Django
  • » Точка с запятой в параметре POST запроса[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version