在页面加载到asp.net之前将javascript值发送到服务器

时间:2018-06-20 17:41:50

标签: javascript c# asp.net client-server

我当前正在使用地理位置来获取客户端浏览器的位置。现在,我将值存储在本地存储中,然后在用户提交表单时将其发送。我想在页面加载之前就发送它们,以便在客户端首次打开页面时可以运行所需的计算。

这是我用来获取位置的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。我的问题更多是关于如何在加载完成之前将值发送回服务器。

1 个答案:

答案 0 :(得分:2)

您可以首先创建一个空白页。然后,该页面可以执行该计算,并重定向到通过POST或GET发送该信息的最终页面。

window.location.href = "your-final-page.aspx?lat=" + lat + "&long=" + long;