關(guān)閉頁(yè)面時(shí)window.location事件未執(zhí)行的原因分析及解決方案
1、問題描述:
JS中定義widow.location = function(),頁(yè)面關(guān)閉時(shí),logout()函數(shù)未執(zhí)行。
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()中調(diào)用SOAPClient.invoke()方法,參數(shù)為true,代表前端和server是異步方式通信,即前端還未接收到server端的響應(yīng),便已經(jīng)執(zhí)行后面的語句了,在該問題中表現(xiàn)為前端執(zhí)行l(wèi)ogout()時(shí)還未等到server的響應(yīng),便已經(jīng)將頁(yè)面關(guān)閉了,所以表現(xiàn)為logout()未執(zhí)行。
3、解決方法:
將前端和server通信方式改為同步,即將SOAPClient.invoke()方法中true改為false,問題得到解決。
- window.location和document.location的區(qū)別分析
- javascript 打開頁(yè)面window.location和window.open的區(qū)別
- window.location.hash 屬性使用說明
- 關(guān)于js中window.location.href,location.href,parent.location.href,top.location.href的用法與區(qū)別
- window.location.hash 使用說明
- window.location.reload()方法刷新頁(yè)面彈出要再次顯示該網(wǎng)頁(yè)對(duì)話框
- window.navigate 與 window.location.href 的使用區(qū)別介紹
- window.location不跳轉(zhuǎn)的問題解決方法
相關(guān)文章
JavaScript常用標(biāo)簽和方法總結(jié)
JavaScript可以被瀏覽器直接解釋執(zhí)行,它可以更好得減小服務(wù)器壓力,提高程序運(yùn)行效率,下面小編通過本篇文章給大家分享JavaScript常用標(biāo)簽和方法,需要的朋友一起來學(xué)習(xí)吧2015-09-09Bootstrap源碼解讀媒體對(duì)象、列表組和面板(10)
這篇文章主要源碼解讀了Bootstrap媒體對(duì)象、列表組和面板,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-12-12javascript實(shí)現(xiàn)異形滾動(dòng)輪播
這篇文章主要為大家詳細(xì)介紹了javascript實(shí)現(xiàn)異形滾動(dòng)輪播,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-11-11js實(shí)現(xiàn)一個(gè)頁(yè)面多個(gè)倒計(jì)時(shí)的3種方法
這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)一個(gè)頁(yè)面多個(gè)倒計(jì)時(shí)的3種方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-02-02JavaScript 異步調(diào)用框架 (Part 2 - 用例設(shè)計(jì))
在上一篇文章里說到,我們要設(shè)計(jì)一個(gè)異步調(diào)用框架,最好能夠統(tǒng)一同步異步調(diào)用的接口,同時(shí)具體調(diào)用順序與實(shí)現(xiàn)方式無關(guān)。那么我們現(xiàn)在就來設(shè)計(jì)這樣一個(gè)框架的用例。2009-08-08詳解Bootstrap網(wǎng)格垂直和水平對(duì)齊方式
網(wǎng)格在網(wǎng)頁(yè)布局中是一個(gè)重點(diǎn)和難點(diǎn),布局是網(wǎng)頁(yè)設(shè)計(jì)的起點(diǎn)和基礎(chǔ),本文主要介紹了Bootstrap網(wǎng)格垂直和水平對(duì)齊方式,感興趣的可以了解一下2021-07-07artdialog的圖片/標(biāo)題以及關(guān)閉按鈕不顯示的解決方法
正如標(biāo)題所言不顯示的原因是因其它c(diǎn)ss樣式文件中包含div{ overflow:hidden; }引起的artdialog的圖片以及關(guān)閉按鈕不顯示,具體的解決方法如下,感興趣的朋友可以參考下哈2013-06-06