我正在执行以下操作以将javascript变量从视图传递到 控制器:
默认/ 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
...........................
.......................
但是它没有被重定向到rough3.html&#34;。我不明白 为什么?非常感谢任何帮助!
此致 Ť
答案 0 :(得分:1)
Ajax的全部意义在于它使HTTP请求而不离开当前页面。
如果您想转到新网址,请将其分配给location
,不要使用Ajax。
答案 1 :(得分:1)
如果您想通过Javascript进行重定向,只需设置echo
\
(Ajax调用不会在浏览器窗口中加载新页面):
window.location