Путаница объектов словаря от jQuery до Django! - PullRequest
0 голосов
/ 04 ноября 2010

Я пытаюсь отправить словарь из jQuery в Django с помощью вызова getJSON:

jQuery.getJSON(URL,JSONData,function(returnData){});

Объект JSONData отформатирован следующим образом:

JSONData = {
     year:2010101,
     name:"bob",

     data:{
          search:[jim,gordon],
          register:[jim],
          research:[dave],
          }
}

Это составлено программно, но выглядит отлично.

После передачи в Django объекты «год» и «имя» соответствуют ожидаемым. Однако объект данных содержит следующие ключи / значения - «search [0]»: «jim», «search [1]»: «gordon», «register [0]»: «jim», «research [0]» : "dave", а не ожидаемый "search" :( массив данных), "register" :( массив данных), "research" :( массив данных).

Подобные вещи случаются, если я использую объекты вместо массивов.

Это проблема с интерпретацией Джанго объекта?

Есть идеи, как я могу исправить это ... чисто?

EDIT:

Теперь я упростила данные, чтобы упростить тестирование:

JSONData = { 
     year:2010101, 
     name:"bob", 
     search:[jim,gordon], 
     register:[jim], 
     research:[dave], 

} 

1 Ответ

3 голосов
/ 04 ноября 2010

request.GET - это не экземпляр обычного питона dict, а класса django QueryDict, который может работать с несколькими значениями для одного ключа. Если вам нужно несколько значений для ключа, возвращаемого в виде списка, вы должны использовать getList!

РЕДАКТИРОВАТЬ: Также посмотрите на это Настройки параметра jQuery !

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...