使用 ajax 和 url 中传递的 javascript 变量进行重定向。

redirection using ajax with javascript variables passed in the url.

我正在执行以下操作以将 javascript 变量从视图传递到 控制器:

default/rough2.html
{{extend 'layout.html'}}

<p id="demo">

</p>
<script>

var x=document.getElementById("demo");
jQuery(document).ready(function(){
geolocation();
})

function geolocation() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(showPosition);

} else {
x.innerHTML = "Geolocation is not supported by this browser.";
}
}

function showPosition(position) {
var lat = position.coords.latitude;
var lon= position.coords.longitude;

ajax('{{=URL('default','rough3')}}'+'?lat='+lat+'&lon='+lon,[],':eval');
}


</script>
rough3() 函数
def rough3():
    lat1=request.vars.lat
    lon1=request.vars.lon
    ...........................
    .......................

但是是"not getting redirected to rough3.html".我不明白 为什么?非常感谢任何帮助!

此致, T

Ajax 的全部要点在于它在不离开当前页面的情况下发出 HTTP 请求

如果你想去一个新的URL,然后把它分配给location,不要使用Ajax。

如果您想通过 Javascript 进行重定向,只需设置 window.location(Ajax 调用不会在浏览器 window 中加载新页面):

window.location = '{{=URL('default', 'rough3')}}' + '?lat=' + lat + '&lon=' + lon;