Передача объекта json в python с помощью angularjs - PullRequest
3 голосов
/ 20 марта 2012

Я новичок в angularjs и python, и у меня есть эта проблема. Я пытался передать данные формы на серверную часть Python, используя angularjs. Я преобразовал форму в объект json перед отправкой в ​​мой контроллер .js.

controller.js:

    jsonObj = this.form.toJson;
    $xhr('POST','/form/processform',jsonObj,function() {
        alert("Done!");
        window.load("/");
    }, function(){
        "Request failed";
    });

Python:

from google.appengine.ext import webapp
from google.appengine.ext.webapp.util import run_wsgi_app
import simplejson as json

class processForm(webapp.RequestHandler):
    def post(self):
        form = json.loads(self.request.body)
        # process forms 
        self.redirect("#/")#redirects to main page

Я получил сообщение об ошибке «JSONDecodeError: невозможно декодировать объект JSON». Я пытался заменить 'POST' на 'JSON', но, похоже, он тоже не работает. Я также читал об $ resource в angularjs, но я не уверен, как его использовать.

Это из-за неправильного использования $ xhr? Любая помощь будет оценена! :)

1 Ответ

0 голосов
/ 20 марта 2012

Согласно JSONDecodeError переменная jsonObj не содержит допустимый объект JSON.

Я считаю, что проблема здесь:

jsonObj = this.form.toJson;

Вы должны вызвать метод toJson вместо присвоения его переменной:

jsonObj = angular.toJson(this.form);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...