Проверка формы Dajaxice: «У объекта Unicode нет атрибута get» (jquery serialize) - PullRequest
2 голосов
/ 06 октября 2011

У меня есть большая проблема с dajax и jquery: я пытаюсь сохранить электронную почту пользователя с помощью dajax, но я получаю эту ошибку, когда form.is_valid () вызывается

 "unicode" object has no attribute "get"

Я думаю, что это из-за метода serialize () jquery, который я использую в этой функции:

function send_form(){
    data = $('#subscribe').serialize(true);
    data = decodeURIComponent(data);    
    Dajaxice.tothego_frontend.sito_maynard.subscribe(Dajax.process,{'form':data});
}

подписка - это мой метод проверки + регистрации, который также содержит is_valid ()

Насколько я понял, ошибка происходит из-за того, что я пытаюсь вызвать is_valid для строки, но я не вижу других способов сериализации моих форм. также, на странице примера dajaxice проверка работает нормально. мой код почти такой же, за исключением того, что я выполняю различные операции после вызова is_valid ().

пожалуйста, мне действительно нужна помощь, все пробовал со вчерашнего дня спасибо!

РЕДАКТИРОВАТЬ: вот трассировка стека

и вот код формы:

class SubscriptionForm(forms.Form):

     email = forms.EmailField()
     what_sub = forms.CharField()
     where_sub = forms.CharField()
     url_sub = forms.CharField()

, что, как я уже сказал в начале, совпадает с примером Dajaxice

1 Ответ

4 голосов
/ 06 октября 2011

я исправил это, изменив

$('#subscribe').serialize(true)

в

$('#subscribe').serializeObject(true)

Как я и думал, проблема заключалась в том, что структура, которую создает сериализация, не подходит для проверки формы django

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