X-Git-Url: http://jsfdemo.indexdata.com/?a=blobdiff_plain;f=js%2Fpz2.js;h=bf6a9b8235a2e7432a00b5227494c0325995284f;hb=e9b634358fec25ebdeeee0461705469d01c82c77;hp=affff33951d4feebb24a83dc8086eb206812b6a2;hpb=5ee8e3b8cce088acb4602eb21c2572fb688ba5c5;p=pazpar2-moved-to-github.git diff --git a/js/pz2.js b/js/pz2.js index affff33..bf6a9b8 100644 --- a/js/pz2.js +++ b/js/pz2.js @@ -1,5 +1,4 @@ /* -** $Id: pz2.js,v 1.70 2008-03-12 11:36:57 jakub Exp $ ** pz2.js - pazpar2's javascript client library. */ @@ -251,6 +250,7 @@ pz2.prototype = this.termCounter = 0; this.bytargetCounter = 0; this.statCounter = 0; + this.activeClients = 1; // no proxy mode if( !this.initStatusOK ) @@ -750,7 +750,7 @@ pzHttpRequest.prototype = for (var key in this.requestHeaders) this.request.setRequestHeader(key, this.requestHeaders[key]); this.request.onreadystatechange = function () { - context._handleResponse(); + context._handleResponse(url); /// url used ONLY for error reporting } this.request.send(data); }, @@ -763,7 +763,7 @@ pzHttpRequest.prototype = return this.url; }, - _handleResponse: function () + _handleResponse: function (savedUrlForErrorReporting) { if ( this.request.readyState == 4 ) { // pick up appplication errors first @@ -786,6 +786,16 @@ pzHttpRequest.prototype = else { throw err; } + } else if (this.request.status == 200 && + this.request.responseXML == null) { + var err = new Error("XML response is empty but no error " + + "for " + savedUrlForErrorReporting); + err.code = -1; + if (this.errorHandler) { + this.errorHandler(err); + } else { + throw err; + } } else if (this.request.status == 200) { this.callback(this.request.responseXML); } else {