如何通过POST请求获取信息而不重载整个网页?(Python/Django)

0 投票
2 回答
1658 浏览
提问于 2025-04-17 18:31

现在的情况是,我们想把一些信息发送给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的教程维基页面。

https://code.djangoproject.com/wiki/AJAX

撰写回答