gpt4 book ai didi

javascript - 我正在 Pyramid 工作,但不知道如何将 POST 从服务器发送到网站,并使用 Ajax 捕获它

转载 作者:行者123 更新时间:2023-12-01 02:51:22 25 4
gpt4 key购买 nike

我可以用另一种方式做到这一点,但现在我需要从服务器发送一个请求,以避免设置一个计时器每 100 毫秒左右检查一次,相反我可以只从 Pyramid 向网站发送一个请求。到目前为止我尝试过这个但没有运气:

我创建的用于保存请求的 View :

@view_config(route_name='request', request_method="POST")
def request(self):
sometext = "Some random text"
return Response(sometext)

Ajax :

function getmsg() {
$.ajax({
type:"GET",
url:"/req", // Route for the View
dataType: "text"
success:function(result){
alert( result );
}
});

请求根本就没有发送!任何帮助将不胜感激!

最佳答案

您无法从服务器“发布”。这不是 Pyramid 限制,HTTP 就是这样(客户端向服务器发出请求)。

有几种方法可以根据需要从后端向前端发送数据:

  • 轮询:浏览器每秒左右发送一次请求。在大多数情况下,这是最简单的方法。除非应用程序高度“实时”,否则这就是我的解决方案。
  • WebSockets:浏览器将连接从 HTTP 升级到 WebSockets,然后浏览器可以从 WebSocket 连接接收数据,而无需请求任何内容,只要连接保持打开状态即可。它运行良好,但需要您设置 WebSocket(服务器端),因此它可能会涉及到。
  • 服务器发送事件:浏览器保持 HTTP 连接打开,服务器可以通过该连接发送数据。理论上来说非常简单。在实践中,服务器必须能够处理大量并发连接,因此它可能必须是异步服务器。我不确定 Pyramid 在生产中是否能很好地支持这一点(也许再加上gunicorn?)。

关于javascript - 我正在 Pyramid 工作,但不知道如何将 POST 从服务器发送到网站,并使用 Ajax 捕获它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46951732/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com