1. Описание проблемы:
Widow.location = function () определяется в JS. Когда страница закрыта, функция logout () не выполняется.
window.onunload = function () {logout ();} function logout (reqparam, callback) {var user manageserviceurl = "http: //" + getserveraddr () + "/axis2/services/user manageservice"; var urllist = []; urll = windocation.href; urllist = url.split (? urllist [1];; reqparam.sessionId = sessionId; var pl = new SoapClientParameters (); var reqparamstr = json.stringify (reqparam); pl.add ("reqparam", reqparamstr); soapclient.invoke (user maneserviceurl, "vogout", pl, false, callback);2. Причина проблемы:
Метод soapclient.invoke () вызывается в logout (), с истинным параметром, что означает, что фронт-конечный и сервер общаются асинхронно. То есть фронт-энд не получил ответа со стороны сервера, и был выполнен следующее оператор. В этой проблеме фронтальная часть закрыла страницу до того, как был выполнен ответ сервера, поэтому она проявляется, поскольку logout () не выполняется.
3. Решение:
Измените метод связи между фронтальным и сервером на синхронно, то есть изменить True в методе SoapClient.invoke () на false, и проблема была решена.