关闭页面window.location事件未执行的原因及解决方法

 更新时间:2014年09月01日 17:31:09   投稿:whsnow  
这篇文章主要介绍了关闭页面window.location事件未执行的原因及解决方法,需要的朋友可以参考下

1、问题描述:

JS中定义widow.location = function(),页面关闭时,logout()函数未执行。

window.onunload = function() {
logout();
}

function logout(reqParam, callback){
var userManageServiceUrl = "http://" + getServerAddr() + "/axis2/services/UserManageService";
var urlList = [];
var url = window.location.href;
urlList = url.split("?");
var sessionID = urlList[1];
reqParam.sessionID = sessionID;
var pl = new SOAPClientParameters();
var reqParamStr = JSON.stringify(reqParam);
pl.add("reqParam", reqParamStr);
SOAPClient.invoke(userManageServiceUrl, "logout", pl, false, callback);
}

2、问题原因:

logout()中调用SOAPClient.invoke()方法,参数为true,代表前端和server是异步方式通信,即前端还未接收到server端的响应,便已经执行后面的语句了,在该问题中表现为前端执行logout()时还未等到server的响应,便已经将页面关闭了,所以表现为logout()未执行。

3、解决方法:

将前端和server通信方式改为同步,即将SOAPClient.invoke()方法中true改为false,问题得到解决。

相关文章

  • javascript 数组使用方法汇总

    javascript 数组使用方法汇总

    由于javascript是一种无类型语言,所以一个数组的元素可以具有任意的数据类型,同一个数组的不同元素 可以具有不同的类型,数组的元素设置可以包含其他数组,这样就可以创建一个复杂的数组了.
    2009-12-12
  • js实现点赞按钮功能的实例代码

    js实现点赞按钮功能的实例代码

    这篇文章主要介绍了js实现点赞按钮功能,本文通过实例代码给大家介绍的非常详细,对大家的工作或学习具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-03-03
  • js实现扫雷源代码

    js实现扫雷源代码

    这篇文章主要为大家详细介绍了js实现扫雷源代码,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-11-11
  • 微信小程序自定义顶部导航组件

    微信小程序自定义顶部导航组件

    这篇文章主要为大家详细介绍了微信小程序自定义顶部导航组件,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-07-07
  • js中实现字符串和数组的相互转化详解

    js中实现字符串和数组的相互转化详解

    这篇文章主要介绍了js中实现字符串和数组的相互转化,感兴趣的小伙伴们可以参考一下
    2016-01-01
  • JavaScript缺少insertAfter解决方案

    JavaScript缺少insertAfter解决方案

    这篇文章主要介绍了JavaScript缺少insertAfter解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07
  • javascript中Date对象的使用总结

    javascript中Date对象的使用总结

    本文介绍了Date对象的使用方法,清晰明了,实现方法有多种,仅供大家参考,希望对大家有所帮助,下面就跟小编一起来看看吧
    2016-11-11
  • JavaScript函数柯里化详解

    JavaScript函数柯里化详解

    柯里化函数主要起到预处理的作用。接下来通过本文给大家介绍JavaScript函数柯里化有什么作用及实现bind方法,非常具有参考价值特此分享供大家学习
    2016-04-04
  • 全面解读TypeScript和JavaScript的区别

    全面解读TypeScript和JavaScript的区别

    TypeScript和JavaScript是目前项目开发中较为流行的两种脚本语言, TypeScript是JavaScript的一个超集,JavaScript是一种轻量级的解释性脚本语言,本文主要介绍了两者区别,感兴趣的可以了解一下
    2023-09-09
  • JS中video标签自动播放音视频并绘制波形图效果

    JS中video标签自动播放音视频并绘制波形图效果

    html中的<video>标签可以用来播放常见的音视频格式,支持的格式包括:MP3、Ogg、WAV、AAC、MP4、WebM、AVI等,当然支持的格式也和浏览器和操作系统有关,这篇文章主要介绍了video标签自动播放音视频并绘制波形图,需要的朋友可以参考下
    2023-09-09

最新评论