js回调函数该怎么用?
我想在导出数据之后刷新页面,这个导出是要消耗时间的,所以必须用到回调,但是下面的用法没起到作用,求指点。。
function export_data(callback){
var export_url = "?app_act=goods/goods/export_data";
window.location.href=export_url;
callback();
}
function callback(){
location.reload();
}
------解决方案--------------------function export_data(){
var export_url = "?app_act=goods/goods/export_data";
window.location.href=export_url;
callback();
}
function callback(){
location.reload();
}
这样试试
------解决方案--------------------你需要做的是在var export_url = "?app_act=goods/goods/export_data";
后面再附加一个标识参数,存在那个参数时,让它执行你预定的函数就是了。比如:
var export_url = "?app_act=goods/goods/export_data&exec=1";
或者,如果只要存在app_act就是需要执行你说的回调函数的话,那那个参数也不用再额外附加了。
然后页面中绑定一个onload事件
window.onload=function(){
var exec=1;//这里由后台判断是否执行,输出一个标识符,比如:0为不执行,1就执行;
if(exec==1){
//dosomething
}
}
------解决方案--------------------没太明白楼主的这两段代码:
var export_url = "?app_act=goods/goods/export_data";
window.location.href=export_url;
但是觉得这两段代码执行完以后,并不能表示“数据已经导出”,所以,实际上,你还是在数据未导出完全的时候就执行了callback。
不知道楼主的代码环境是怎么样的,您应该首先找到“数据已经导出”的点,在这之后使用回调函数。
------解决方案--------------------我猜到了,楼主可能是有个列表,列表上方有个按钮,点击该按钮,执行导出函数从后台导出数据,然后刷新页面。楼主为什么不使用ajax丫,自带callback。