Ключ и значение поменялись местами в строке JSON, отправленной в представление Django через POST - PullRequest
0 голосов
/ 24 января 2011

Это моя первая попытка ajax, и я написал обработчик отправки, который анализирует форму и отправляет данные через POST на сервер в виде строки JSON. Вот упрощенный пример того, как выглядит мой javascript

formData = JSON.stringify({'testA':{'testa':'some data'},'testB':{'test2':'more data'}});

Строка JSON выглядит следующим образом

{"testA":{"test1":"some data"},"testB":{"test2":"more data"}}

и я отправляю его по почте сюда

$.post("/some/form/page/",formData,updateForm,'json');

На стороне сервера, где проблема поднимает свою уродливую голову, именно так выглядит мой словарь запросов, когда я печатаю, если из представления Django

<QueryDict: {u'{"testA":{"test1":"some data"},"testB":{"test2":"more data"}}': [u'']}>

Строка JSON является ключом словаря запросов. Я не очень хорошо знаком с Javascript или JSON, так что не бойтесь навредить моей гордости, указав на очевидную ошибку новичка, потому что я и знаю это. ,)

Спасибо

1 Ответ

3 голосов
/ 24 января 2011

Вы отправляете строку в качестве параметра $.post.Вместо того, чтобы вызывать "JSON.stringify ()" самостоятельно, просто передайте ваш необработанный объект JavaScript в качестве второго параметра $.post().

$.post("/some/form/page/", {'testA':{'testa':'some data'},'testB':{'test2':'more data'}}, updateForm, 'json');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...