Javascript 如何将信息从浏览器移动到服务器端代码?
我正在尝试使用Express和Node.js制作一个简单的天气应用程序。为了做到这一点,我需要得到的纬度和经度的用户自动。我知道如何通过浏览器使用HTML5 Geolocation()实现这一点。但是,我无法从服务器端Express代码中执行此操作。如何创建从浏览器获取纬度和经度的客户端代码,然后将其发送到服务器端代码?您可能会使用Ajax调用从浏览器Javascript代码向服务器发送lat/long。在现代浏览器中,可以使用发送Ajax调用。Ajax的旧接口是 例如:Javascript 如何将信息从浏览器移动到服务器端代码?,javascript,node.js,express,node-modules,Javascript,Node.js,Express,Node Modules,我正在尝试使用Express和Node.js制作一个简单的天气应用程序。为了做到这一点,我需要得到的纬度和经度的用户自动。我知道如何通过浏览器使用HTML5 Geolocation()实现这一点。但是,我无法从服务器端Express代码中执行此操作。如何创建从浏览器获取纬度和经度的客户端代码,然后将其发送到服务器端代码?您可能会使用Ajax调用从浏览器Javascript代码向服务器发送lat/long。在现代浏览器中,可以使用发送Ajax调用。Ajax的旧接口是 例如: fetch('/api
fetch('/api/setLatLong', {
method: 'POST',
body: JSON.stringify(latLongData)
}).then(result => {
// process returned data here
});
在上面的示例中,您可以用希望服务器接收lat/long数据的URL替换
/api/setLatLong
。然后在服务器上编码一条路由以接收该数据。您可能会通过使用cookie或登录会话将其与用户关联,然后可能会将lat/long数据存储在服务器上的用户会话中。您用谷歌搜索过如何将数据从客户端发送到服务器吗?感谢您的回复。我的浏览器Javascript代码在哪里?它是否只与HTML文件关联?@GabeLevin-它将位于加载到浏览器中的HTML文件的
标记中。而且,Ajax调用通常会在web页面中的某种用户事件上运行(按钮单击、按键、鼠标单击、页面加载等…),因此我的脚本可以正常工作。我得到坐标,然后把它们放在一个看不见的表单中的两个字段中。从那里我的脚本提交表单,从而发送POST请求。我已经确认我的服务器端代码正在接收POST请求,但是如何获取在我的两个字段中找到的数据?@GabeLevin-请参阅示例。