如何通过POST请求获取信息而不重载整个网页?(Python/Django)
现在的情况是,我们想把一些信息发送给Django(我们的网页框架),让它对这些信息进行处理,然后再从Django那里接收信息。
目前,我们用来向服务器发送数据的表单看起来是这样的。
<form method="post" onAction="/write" name="form1">
{% csrf_token %}
<button type="submit">Send Info for processing</button>
</form>
我们希望这个过程能够发送一个变量或者传递一些信息。
这样做成功地把信息送到了我们的 views.py
文件,并进入了一个可以处理信息的函数。
但是现在我们不知道如何从POST请求中获取信息,也不知道如何在不加载新页面的情况下把信息发送回去。
2 个回答
0
你需要返回一个HttpResponse(HTTP响应)。至于你要返回什么格式,比如XML、JSON、HTML等等,完全由你决定。你的请求必须通过Ajax来发送。
https://docs.djangoproject.com/en/1.4/ref/request-response/#django.http.HttpResponse
1
因为你不想在发送请求时刷新页面,所以你需要向服务器发送一个异步请求。JQuery是一个JavaScript库,它有一些很方便的功能,可以帮助你发送异步请求。当服务器收到请求后,它可以进行计算,并发送一个包含HTML、XML或JSON数据的HttpResponse,就像Brandon提到的那样。
这是一个关于Django中Ajax的教程维基页面。