X-Git-Url: http://jsfdemo.indexdata.com/?a=blobdiff_plain;f=js%2Fpz2.js;h=8aab9bff345427d42919be79822eb18371bf246f;hb=457c6599b5dae1fb9e06b1c1a2f58a0922de5851;hp=bae191d5a873953a2b80a0a0b0879ca9391f20cf;hpb=259cb95b9ad2d4a604609e2bb2a9db53011f5232;p=pazpar2-moved-to-github.git diff --git a/js/pz2.js b/js/pz2.js index bae191d..8aab9bf 100644 --- a/js/pz2.js +++ b/js/pz2.js @@ -637,6 +637,18 @@ pz2.prototype = bytarget[i][nodeName] = nodeText; } } + if (bytarget[i]["state"]=="Client_Disconnected") { + bytarget[i]["hits"] = "Error"; + } else if (bytarget[i]["state"]=="Client_Error") { + bytarget[i]["hits"] = "Error"; + } else if (bytarget[i]["state"]=="Client_Working") { + bytarget[i]["hits"] = "..."; + } + if (bytarget[i].diagnostic == "1") { + bytarget[i].diagnostic = "Permanent system error"; + } else if (bytarget[i].diagnostic == "2") { + bytarget[i].diagnostic = "Temporary system error"; + } } context.bytargetCounter++; @@ -707,6 +719,7 @@ var pzHttpRequest = function ( url, errorHandler ) { } }; + pzHttpRequest.prototype = { safeGet: function ( params, callback ) @@ -805,17 +818,32 @@ pzHttpRequest.prototype = this.request.responseXML == null) { if (this.request.responseText != null) { //assume JSON - + var json = null; - if (this.JSON == null) - json = eval("(" + this.request.responseText + ")"); + var text = this.request.responseText; + if (typeof window.JSON == "undefined") + json = eval("(" + text + ")"); else { try { - json = JSON.parse(this.request.responseText, null); + json = JSON.parse(text); } catch (e) { - json = eval("(" + this.request.responseText + ")"); + // Safari: eval will fail as well. Considering trying JSON2 (non-native implementation) instead + /* DEBUG only works in mk2-mobile + if (document.getElementById("log")) + document.getElementById("log").innerHTML = "" + e + " " + length + ": " + text; + */ + try { + json = eval("(" + text + ")"); + } + catch (e) { + /* DEBUG only works in mk2-mobile + if (document.getElementById("log")) + document.getElementById("log").innerHTML = "" + e + " " + length + ": " + text; + */ + } } + } this.callback(json, "json"); } else { var err = new Error("XML response is empty but no error " +