gpt4 book ai didi

javascript - 在 Javascript/XMLHttpRequest 中保持连接

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:21:17 25 4
gpt4 key购买 nike

我正在构建一个应用程序,它监听某个外部 url 的内部连接,并将其内部加载的内容插入到我这边的新页面。

我上面的陈述可能听起来令人困惑,但外部 URL 的一个很好的模拟是 Instagram 故事当您访问这个外部网站时,它会在浏览器中完成加载(滚动图标停止,但这不会停止对看不见的更新的请求)

我已经使用在 npm 上运行的 nodejs 构建了一个 JavaScript 服务器并设置了内容 header

我还使用 htaccess 使其保持事件状态,以便我可以收听和加载新的内部连接


header 设置连接保持事件>

但似乎没有用

    if(err){

if(err == 'ENOENT'){
res.writeHead(404, {'Content-Type' : 'text/html'});
res.write(path.join(__dirname, 'public', '404.html'));
res.end();

}else{
res.writeHead(500, {'Content-Type' : 'text/html'});
res.write('<enter><h1>Some server error just occured .... </h1></center>');
res.end();
}

}else{
res.writeHead(200, {'Content-Type' : contentType, 'Connection':' keep-alive', 'Transfer-Encoding':' chunked', 'Accept':' */*', 'User-Agent':' Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36'});
res.write(content);
res.end();
}

我希望每次连接在地下运行时都能获得新加载的内容,而无需重新加载浏览器,就像滚动浏览 Instagram 状态/故事一样

最佳答案

我认为这是错误的做法。您可以让它每 5 秒检查一次,看看客户端是否有新内容。

function checkURL(){
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
document.write(this.responseText);
}
};
xhttp.open("GET", "https://example.com/", true);
xhttp.send();
}
setInterval(checkURL,5000); //5000 = 5 seconds

如果您必须在 Node.JS 中执行此操作,请查看这篇文章: HTTP keep-alive in node.js

关于javascript - 在 Javascript/XMLHttpRequest 中保持连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57630947/

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