如何使用XMLHttpRequest()不断将数据发送到我网站的其他页面?

时间:2016-05-04 02:16:29

标签: javascript node.js express

我在node.js和express.js工作,我正试图找到最快的方法来处理这个问题。

我网站中的一个页面正在接收纬度var long和经度http://localhost/driver/save_position Failed to load resource: net::ERR_CONNECTION_REFUSED的位置信息,我希望不断将该信息发送到我网站上的其他页面。我的代码非常不完整,但任何指导都非常有用。我目前在浏览器控制台中收到错误POST http://localhost/driver/save_position net::ERR_CONNECTION_REFUSED和更晚的function sendCoordinates(lat, lon){ var xhttp = new XMLHttpRequest(); xhttp.open("POST", "http://" + window.location.hostname + "/driver/save_position", true); xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); xhttp.send('lat=' + lat + '&lon=' + lon); } 。我的代码如下。

这是在一个网页上运行的javascript文件中的代码,我想将该信息发送到我的其他页面,以便它可以不断更新。

router.post('/driver/save_position',function(req, res, next){
  console.log(req)
})

在我的路由的单独文件中,我有

--source=kubernetes:''

我非常喜欢这些想法的初学者,所以任何建议,帮助和解决方案都非常感谢!感谢您的任何帮助!

1 个答案:

答案 0 :(得分:2)

一个网页不会直接将数据发送到另一个网页,除非它位于同一个浏览器中。因此,既然您在网站上说了另一页",我认为您正在谈论让其他用户在其他页面中显示数据。如果这就是您的意思,那么这不是浏览器Javascript所具有的功能。此外,当你说“发送到网页”时,你的意思并不是很清楚。因为那不是真正的目的地。

您可以做的是向服务器发送请求,您可以要求该服务器通知其他连接的用户/页面。如果该其他用户/页面具有连接到服务器的实时webSocket,则服务器可以通过webSocket向该用户/页面发送消息。

如果其他用户/页面没有到同一服务器的实时webSocket连接,那么它从服务器获取此信息的唯一方法就是从服务器请求具有自己的Ajax调用的信息。服务器必须存储该信息,以便当有人要求时,它可以提供信息。

如果您询问如何将数据从浏览器中的一个窗口发送到同一浏览器中的另一个窗口,那么您可以使用postMessage()在同一浏览器中的两个合作窗口之间发送数据。