3

我是 angularjs 和 python 的新手,我遇到了这个问题。我一直在尝试使用 angularjs 将表单的数据传递到 Python 服务器端。在将表单发送到我的 .js 控制器之前,我已将表单转换为 json 对象。

控制器.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: No JSON object could be decoded”的错误。我试图将 'POST' 替换为 'JSON',但似乎效果不佳。我还阅读了 angularjs 中的 $resource,但我不确定如何使用它。

这是因为 $xhr 的错误使用吗?任何帮助将不胜感激!:)

4

1 回答 1

0

根据JSONDecodeErrorjsonObj变量不包含有效的 JSON 对象。

我相信问题就在这里:

jsonObj = this.form.toJson;

您应该调用该toJson方法而不是将其分配给变量:

jsonObj = angular.toJson(this.form);
于 2012-03-20T12:35:42.537 回答