使用 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;
我正在执行以下操作以将 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;