【问题标题】:How to get the data submitted using POST on Python using Pyramid?如何使用 Pyramid 在 Python 上使用 POST 提交的数据?
【发布时间】:2017-09-12 17:38:52
【问题描述】:

我正在寻找 Python 中 PHP 的 $_POST[] 的等效项。 在 PHP 上,当您提交表单时,您可以使用 $_POST[] 获取其值。 如何在 python 上获取这些数据? 这是我的代码。

function NewUser(){
                    var firstName = $('#firstName').val();
                    var dataString = '&firstName='+firstName;
                    $.ajax({
                        type:"POST",
                        url:"newusers",
                        data:dataString,
                        dataType:'text',
                        success:function(s){
                            alert(s);
                        },
                        error:function(){
                            alert('FAILED!');
                        }


                    })
                }

这是我扔数据的地方。

@view_config(route_name='newusers', renderer='json')
    def newusers(self):
    return '1';

此代码工作正常,它返回并警告字符串“1”。

我的问题是,我怎样才能获得提交的名字?并将其放在返回而不是“1”。

提前谢谢你!

【问题讨论】:

    标签: python ajax pyramid


    【解决方案1】:

    我设法使它与这段代码一起工作。

    @view_config(route_name='newusers', renderer='json')
    def newusers(self):
        name =  str(self.request.POST.get('firstName'))
        return name
    

    【讨论】:

      【解决方案2】:

      另一个应该起作用的变体:

      @view_config(route_name='newusers', renderer='json')
      def newusers(self):
          # Best to check for the case of a blank/unspecified field...
          if ('firstName' in self.request.params):
              name =  str(self.request.params['firstName'])
          else:
              name = 'null'
          return name
      

      注意:使用 str() 函数时要小心,尤其是在 python 2.x 中,因为它可能与使用 ascii 以外的字符的 unicode 输入不兼容。您可以考虑:

              name = (self.request.params['firstName']).encode('utf-8')
      

      作为替代。

      【讨论】:

      • 我会用这个! :D
      • request.paramsrequest.POSTrequest.GET 中的所有数据都是字符串(可能是空字符串),除非您对数据进行了一些后处​​理。
      • 同意...确实没有必要使用 str() 或 encode()。如果模板包含多个表单,则可能有一些未使用,可能导致字典键不存在;这就是为什么我建议在尝试使用密钥之前检查它是否存在。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-07
      • 1970-01-01
      • 2014-04-20
      • 1970-01-01
      • 2016-03-14
      相关资源
      最近更新 更多