2011-12-16 2 views
1

У меня есть объект, который яваскрипт выглядит следующим образом:Синтаксический JSON с JQuery вызова с Django

var myObject = { "Danny": {"height": 1.70, "weight" : 70 }, "David" : {"height": 1.90, "weight" : 80" } ... } 

Я хочу, чтобы отправить его в формате JSON с целью Джанго и разобрать его в нем. На стороне клиента, используя JQuery, я добавил следующее:

 $.ajax({ 
      type: "POST", 
      url: "/ajax/someview", 
      data: JSON.stringify(myObject), 
      contentType: 'application/json; charset=utf-8', 
      dataType: "json" 
     }); 

Однако, когда я отладки зрения и посмотреть на request.POST, данные выглядит следующим образом:

POST:<QueryDict: {u'{"Danny": {"height": 1.70, "weight" : 70 }, "David" : {"height": 1.90, "weight" : 80" }}' : [u'']}> 

Как я могу преобразуйте это в объект python, который я могу его использовать (используя simplejson.load)?

Спасибо, Joel

ответ

1
$.ajax({ 
     type: "POST", 
     url: "/ajax/someview", 
     data: {'mydata': JSON.stringify(myObject)}, 
     contentType: 'application/json; charset=utf-8', 
     dataType: "json" 
}); 

Тогда получите его с request.POST.get('mydata')

4

Вы можете получить доступ необработанные данные POST с - не удивительно - request.raw_post_data. Это даст вам строку, которую вы можете конвертировать с simplejson.loads().

Смежные вопросы