我当前正在使用地理位置来获取客户端浏览器的位置。现在,我将值存储在本地存储中,然后在用户提交表单时将其发送。我想在页面加载之前就发送它们,以便在客户端首次打开页面时可以运行所需的计算。
这是我用来获取位置的javascript(效果很好)。它会在页面加载之前运行。
navigator.geolocation.getCurrentPosition(foundLocation, noLocation);
function foundLocation(position) {
if (isPostBack == true) {
return;
}
var lat = position.coords.latitude;
var long = position.coords.longitude;
this.localStorage.setItem("lat", Math.round(lat * 1000000) / 1000000);
this.localStorage.setItem("long", Math.round(long * 1000000) / 1000000);
}
然后我使用window.onload
并调用存储中的值以将其自动加载到表单上。然后,用户单击一个按钮,表单将提交值。
如何将这些值直接发送到服务器?这将使我无需用户单击就可以运行所需的位置计算。我知道我可以在window.onload
触发后自动单击“提交”按钮,但是我不希望它看起来像是在加载表单,然后提交,然后再发回。
我是asp.net的新手,所以我什至不知道在这里问什么问题,所以我很抱歉,我只是在看这个简单的事情。
编辑:“可能重复”是关于我已经在做的页面加载之前执行js。我的问题更多是关于如何在加载完成之前将值发送回服务器。
答案 0 :(得分:2)
您可以首先创建一个空白页。然后,该页面可以执行该计算,并重定向到通过POST或GET发送该信息的最终页面。
window.location.href = "your-final-page.aspx?lat=" + lat + "&long=" + long;