这是我的ajax表单提交的js函数:
$('.sendButton').on('click', function(){
$.post( "/send-form", $('#contactForm').serialize())
}
这是我的表格:
<form id="contactForm">
<input id="fastName" name="name" type="text" />
<input id="fastPhone" name="phone" type="text" />
<div class="sendButton">send</div>
</form>
这是我的后端函数来处理它,我正在使用python,flask
@app.route("/send-form", methods=['POST'])
def send_form():
data = request.data
print request.data
在我的控制台中打印数据:
127.0.0.1 - - [22/Feb/2015 23:50:54] "POST /send-form HTTP/1.1" 200 - name=dfdsf&phone=89920203725
但是我在另一个项目中做了同样的事情而且没有打印任何内容。 细节在这里: Can't get post ajax request data python 怎么可能呢?
答案 0 :(得分:0)
数据位于字段request.form中,可以通过以下方式获取:
name = request.form['name']
phone = request.form['phone']
备注。如果它们没有发送,则此代码将抛出异常。
更长的解释 原因是数据是使用称为 application / x-www-form-urlencoded 的编码发送的。数据位于 request.data 字段中,但要对其进行解码,您可以使用 request.form ,Flask会自动将其解码为 application / x-www-窗体-urlencoded 。