X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=js%2Fpz2.js;h=3804d1ad27c7c6dc948463798099588998256917;hb=b2efe0bbbbe5aca31a268882795cd6f67c6c6012;hp=affff33951d4feebb24a83dc8086eb206812b6a2;hpb=c9a9e359b3ada0b8c697c0d9d5b7fe70e4049eaf;p=pazpar2-moved-to-github.git diff --git a/js/pz2.js b/js/pz2.js index affff33..3804d1a 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. */ @@ -750,7 +749,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 +762,7 @@ pzHttpRequest.prototype = return this.url; }, - _handleResponse: function () + _handleResponse: function (savedUrlForErrorReporting) { if ( this.request.readyState == 4 ) { // pick up appplication errors first @@ -786,6 +785,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 {