【问题标题】:How to parse an Angular POST request in WebApp2如何在 WebApp2 中解析 A​​ngular POST 请求
【发布时间】:2013-11-09 16:29:23
【问题描述】:

如何在 Google App Engine WebApp2 中从我的 Angular POST 请求中获取数据? self.request.body 返回一个字符串,self.request.get(key) 什么也不返回。

提交 POST 的 Angular 代码是:

$http.post("/mail", {request_name: 'Test Name', request_body: 'Test Body'});

然后是我的 WebApp2 处理程序中的这两行:

print "1:  " + self.request.body
print "2:  " + self.request.get('request_name')

打印这个:

1:  {"request_name":"Test Name","request_body":"Test Body"}
2:  

从 POST 正文中获取数据的最佳方式是什么?还是我应该以不同的方式发送请求?

【问题讨论】:

    标签: google-app-engine angularjs webapp2


    【解决方案1】:

    从您的第一次打印来看,Angular 似乎正在以 JSON 格式发送数据。 Webapp2 不会为您解析这些数据。对于您的特定要求,您可以这样做:

    import json
    d = json.loads(self.request.body)
    v = d.get(key)
    

    如果您希望能够使用self.request.POST.get(key) 访问 POST 数据,您可能需要将数据作为表单数据提交。有关详细信息,请参阅this SO answer

    【讨论】:

      【解决方案2】:

      你可以试试这个:

       self.request.POST.get(key) # POST requests
       self.request.GET.get(key)  # GET requests
      

      【讨论】:

        【解决方案3】:

        我总是使用 self.request.get 并且能够从 GET/POST 方法获取数据,也许您以只有 self.request.body 可以访问的不同格式发送数据?

        【讨论】:

        • Chrome 开发工具说请求是application/json;charset=UTF-8
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-11-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多