我尝试使用Express和Node.js创建一个简单的天气应用程序。为此,我需要自动获取用户的纬度和经度。我知道如何使用HTML5 Geolocation(https://www.w3schools.com/html/html5_geolocation.asp)通过浏览器执行此操作。但是,我无法通过服务器端Express代码执行此操作。如何创建从浏览器获取经度和纬度的客户端代码,然后将其发送到我的服务器端代码?
答案 0 :(得分:1)
您可能会使用Ajax调用从您的浏览器Javascript代码向服务器发送lat / long。在现代浏览器中,您可以使用fetch()
interface发送Ajax调用。 Ajax的旧接口是XMLHttpRequest()
。
示例:
val
在上面的示例中,您将fetch('/api/setLatLong', {
method: 'POST',
body: JSON.stringify(latLongData)
}).then(result => {
// process returned data here
});
替换为您希望服务器接收lat / long数据的任何URL。然后,在服务器上对路由进行编码以接收该数据。您可能会通过使用cookie或登录会话将其与用户相关联,然后可能将lat / long数据存储在服务器上的用户会话中。