javascript在10分钟内收听http发布请求,如果没有取消它

时间:2014-09-08 13:20:16

标签: javascript http-post httprequest listen

我正在开发一个小比特币支付平台。我使用nodejs作为后端,html5和javascript作为前端。好的,我编写了部分,我收到了在nodejs收到付款的回电通知,并发布了一个“付费”的信息。字符串到客户端。在客户端,我需要编写一个代码,在10分钟内等待该POST请求。如果请求未在10分钟内到达,则付款将被取消。

我不知道如何让前端在10分钟内听取http POST请求,如果在那段时间内没有到达,则取消它。

此致 的Aitor

3 个答案:

答案 0 :(得分:1)

您不能“POST”到客户端。 设置请求超时也是10分钟(因为浏览器会在此之前超时 - 大约2分钟,具体取决于浏览器)

您可以在请求发布后进行轮询(从客户端到nodejs后端) - 您将使用AJAX

或者您可以设置WebSockets socket.io连接并将结果从nodejs后端“推送”到客户端 - 请参阅此处http://en.wikipedia.org/wiki/WebSocket

答案 1 :(得分:0)

使用jQuery:

$.ajax({url:"your url", timeout: 1000*60*10, success:function(result){
    //handle response here...
}});

更改"您的网址"到你的网址。此代码将对您的服务器进行ajax调用,当它响应时,它将输入带有结果的success:函数。超时1000 * 60 * 10以毫秒为单位,计算结果为10分钟。

答案 2 :(得分:0)

您可以使用计时器执行此操作。 设置java脚本的计时器宽度,检查POST参数是否收到或不。当时间结束时,您可以将用户重定向到另一个页面。