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