Mercurial > repos > jankanis > blast2html2
annotate NCBI Blast reference example_files/remote_data_provider.js @ 31:344cd76f6fd2
rename NCBI reference example
| author | Jan Kanis <jan.code@jankanis.nl> | 
|---|---|
| date | Thu, 15 May 2014 16:59:18 +0200 | 
| parents | Blast output page example_files/remote_data_provider.js@bad241dc701f | 
| children | 
| rev | line source | 
|---|---|
| 0 
bad241dc701f
add example input blast xml and output html page
 Jan Kanis <jan.code@jankanis.nl> parents: diff
changeset | 1 //========================================================================================================= | 
| 
bad241dc701f
add example input blast xml and output html page
 Jan Kanis <jan.code@jankanis.nl> parents: diff
changeset | 2 function RemoteDataProvider(sUrl) { | 
| 
bad241dc701f
add example input blast xml and output html page
 Jan Kanis <jan.code@jankanis.nl> parents: diff
changeset | 3 this.iActiveRequests = 0; | 
| 
bad241dc701f
add example input blast xml and output html page
 Jan Kanis <jan.code@jankanis.nl> parents: diff
changeset | 4 this.sUrl = sUrl; | 
| 
bad241dc701f
add example input blast xml and output html page
 Jan Kanis <jan.code@jankanis.nl> parents: diff
changeset | 5 } | 
| 
bad241dc701f
add example input blast xml and output html page
 Jan Kanis <jan.code@jankanis.nl> parents: diff
changeset | 6 | 
| 
bad241dc701f
add example input blast xml and output html page
 Jan Kanis <jan.code@jankanis.nl> parents: diff
changeset | 7 //------------------------------------------------------------------------------------------------------------- | 
| 
bad241dc701f
add example input blast xml and output html page
 Jan Kanis <jan.code@jankanis.nl> parents: diff
changeset | 8 RemoteDataProvider.prototype.GetHttpObj = function() { | 
| 
bad241dc701f
add example input blast xml and output html page
 Jan Kanis <jan.code@jankanis.nl> parents: diff
changeset | 9 var oHttpObj = null; | 
| 
bad241dc701f
add example input blast xml and output html page
 Jan Kanis <jan.code@jankanis.nl> parents: diff
changeset | 10 try { | 
| 
bad241dc701f
add example input blast xml and output html page
 Jan Kanis <jan.code@jankanis.nl> parents: diff
changeset | 11 oHttpObj = new ActiveXObject("Msxml2.XMLHTTP"); | 
| 
bad241dc701f
add example input blast xml and output html page
 Jan Kanis <jan.code@jankanis.nl> parents: diff
changeset | 12 } catch(e) { | 
| 
bad241dc701f
add example input blast xml and output html page
 Jan Kanis <jan.code@jankanis.nl> parents: diff
changeset | 13 try { | 
| 
bad241dc701f
add example input blast xml and output html page
 Jan Kanis <jan.code@jankanis.nl> parents: diff
changeset | 14 oHttpObj = new ActiveXObject("Microsoft.XMLHTTP") | 
| 
bad241dc701f
add example input blast xml and output html page
 Jan Kanis <jan.code@jankanis.nl> parents: diff
changeset | 15 } catch(oc) { | 
| 
bad241dc701f
add example input blast xml and output html page
 Jan Kanis <jan.code@jankanis.nl> parents: diff
changeset | 16 oHttpObj = null; | 
| 
bad241dc701f
add example input blast xml and output html page
 Jan Kanis <jan.code@jankanis.nl> parents: diff
changeset | 17 } | 
| 
bad241dc701f
add example input blast xml and output html page
 Jan Kanis <jan.code@jankanis.nl> parents: diff
changeset | 18 } | 
| 
bad241dc701f
add example input blast xml and output html page
 Jan Kanis <jan.code@jankanis.nl> parents: diff
changeset | 19 if (!oHttpObj && typeof XMLHttpRequest != "undefined") { | 
| 
bad241dc701f
add example input blast xml and output html page
 Jan Kanis <jan.code@jankanis.nl> parents: diff
changeset | 20 oHttpObj = new XMLHttpRequest(); | 
| 
bad241dc701f
add example input blast xml and output html page
 Jan Kanis <jan.code@jankanis.nl> parents: diff
changeset | 21 } | 
| 
bad241dc701f
add example input blast xml and output html page
 Jan Kanis <jan.code@jankanis.nl> parents: diff
changeset | 22 return oHttpObj; | 
| 
bad241dc701f
add example input blast xml and output html page
 Jan Kanis <jan.code@jankanis.nl> parents: diff
changeset | 23 } | 
| 
bad241dc701f
add example input blast xml and output html page
 Jan Kanis <jan.code@jankanis.nl> parents: diff
changeset | 24 | 
| 
bad241dc701f
add example input blast xml and output html page
 Jan Kanis <jan.code@jankanis.nl> parents: diff
changeset | 25 //------------------------------------------------------------------------------------------------------------- | 
| 
bad241dc701f
add example input blast xml and output html page
 Jan Kanis <jan.code@jankanis.nl> parents: diff
changeset | 26 RemoteDataProvider.prototype.Request = function(sRequest, method) { | 
| 
bad241dc701f
add example input blast xml and output html page
 Jan Kanis <jan.code@jankanis.nl> parents: diff
changeset | 27 var oHttpObj = this.GetHttpObj(); | 
| 
bad241dc701f
add example input blast xml and output html page
 Jan Kanis <jan.code@jankanis.nl> parents: diff
changeset | 28 if (null == oHttpObj) return; | 
| 
bad241dc701f
add example input blast xml and output html page
 Jan Kanis <jan.code@jankanis.nl> parents: diff
changeset | 29 | 
| 
bad241dc701f
add example input blast xml and output html page
 Jan Kanis <jan.code@jankanis.nl> parents: diff
changeset | 30 method = (!method) ? "GET" : "POST"; | 
| 
bad241dc701f
add example input blast xml and output html page
 Jan Kanis <jan.code@jankanis.nl> parents: diff
changeset | 31 var sURL = (method == "GET") ? this.sUrl + "?" + sRequest : this.sUrl; //alert(sURL); | 
| 
bad241dc701f
add example input blast xml and output html page
 Jan Kanis <jan.code@jankanis.nl> parents: diff
changeset | 32 this.iActiveRequests++; | 
| 
bad241dc701f
add example input blast xml and output html page
 Jan Kanis <jan.code@jankanis.nl> parents: diff
changeset | 33 var oThis = this; | 
| 
bad241dc701f
add example input blast xml and output html page
 Jan Kanis <jan.code@jankanis.nl> parents: diff
changeset | 34 oHttpObj.onreadystatechange = function () { | 
| 
bad241dc701f
add example input blast xml and output html page
 Jan Kanis <jan.code@jankanis.nl> parents: diff
changeset | 35 if (oHttpObj.readyState == 4 && oHttpObj.status == 200) { | 
| 
bad241dc701f
add example input blast xml and output html page
 Jan Kanis <jan.code@jankanis.nl> parents: diff
changeset | 36 oThis.onSuccess(oHttpObj); | 
| 
bad241dc701f
add example input blast xml and output html page
 Jan Kanis <jan.code@jankanis.nl> parents: diff
changeset | 37 oThis.iActiveRequests--; | 
| 
bad241dc701f
add example input blast xml and output html page
 Jan Kanis <jan.code@jankanis.nl> parents: diff
changeset | 38 oThis.onStop(); | 
| 
bad241dc701f
add example input blast xml and output html page
 Jan Kanis <jan.code@jankanis.nl> parents: diff
changeset | 39 } else if(oHttpObj.readyState == 4 && oHttpObj.status != 200) { | 
| 
bad241dc701f
add example input blast xml and output html page
 Jan Kanis <jan.code@jankanis.nl> parents: diff
changeset | 40 oThis.onError(oHttpObj); | 
| 
bad241dc701f
add example input blast xml and output html page
 Jan Kanis <jan.code@jankanis.nl> parents: diff
changeset | 41 oThis.iActiveRequests--; | 
| 
bad241dc701f
add example input blast xml and output html page
 Jan Kanis <jan.code@jankanis.nl> parents: diff
changeset | 42 oThis.onStop(); | 
| 
bad241dc701f
add example input blast xml and output html page
 Jan Kanis <jan.code@jankanis.nl> parents: diff
changeset | 43 } | 
| 
bad241dc701f
add example input blast xml and output html page
 Jan Kanis <jan.code@jankanis.nl> parents: diff
changeset | 44 }; | 
| 
bad241dc701f
add example input blast xml and output html page
 Jan Kanis <jan.code@jankanis.nl> parents: diff
changeset | 45 | 
| 
bad241dc701f
add example input blast xml and output html page
 Jan Kanis <jan.code@jankanis.nl> parents: diff
changeset | 46 if (oHttpObj.readyState != 0) oHttpObj.abort(); | 
| 
bad241dc701f
add example input blast xml and output html page
 Jan Kanis <jan.code@jankanis.nl> parents: diff
changeset | 47 this.onStart(); | 
| 
bad241dc701f
add example input blast xml and output html page
 Jan Kanis <jan.code@jankanis.nl> parents: diff
changeset | 48 oHttpObj.open(method, sURL, true); | 
| 
bad241dc701f
add example input blast xml and output html page
 Jan Kanis <jan.code@jankanis.nl> parents: diff
changeset | 49 // oHttpObj.setRequestHeader('Cache-Control', 'no-cache'); | 
| 
bad241dc701f
add example input blast xml and output html page
 Jan Kanis <jan.code@jankanis.nl> parents: diff
changeset | 50 var params = (method == "GET") ? null : sRequest; | 
| 
bad241dc701f
add example input blast xml and output html page
 Jan Kanis <jan.code@jankanis.nl> parents: diff
changeset | 51 if (params) { | 
| 
bad241dc701f
add example input blast xml and output html page
 Jan Kanis <jan.code@jankanis.nl> parents: diff
changeset | 52 oHttpObj.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); | 
| 
bad241dc701f
add example input blast xml and output html page
 Jan Kanis <jan.code@jankanis.nl> parents: diff
changeset | 53 oHttpObj.setRequestHeader("Content-length", params.length); | 
| 
bad241dc701f
add example input blast xml and output html page
 Jan Kanis <jan.code@jankanis.nl> parents: diff
changeset | 54 oHttpObj.setRequestHeader("Connection", "close"); | 
| 
bad241dc701f
add example input blast xml and output html page
 Jan Kanis <jan.code@jankanis.nl> parents: diff
changeset | 55 } | 
| 
bad241dc701f
add example input blast xml and output html page
 Jan Kanis <jan.code@jankanis.nl> parents: diff
changeset | 56 oHttpObj.send(params); | 
| 
bad241dc701f
add example input blast xml and output html page
 Jan Kanis <jan.code@jankanis.nl> parents: diff
changeset | 57 } | 
| 
bad241dc701f
add example input blast xml and output html page
 Jan Kanis <jan.code@jankanis.nl> parents: diff
changeset | 58 | 
| 
bad241dc701f
add example input blast xml and output html page
 Jan Kanis <jan.code@jankanis.nl> parents: diff
changeset | 59 //------------------------------------------------------------------------------------------------------------- | 
| 
bad241dc701f
add example input blast xml and output html page
 Jan Kanis <jan.code@jankanis.nl> parents: diff
changeset | 60 RemoteDataProvider.prototype.onSuccess = function(obj) { | 
| 
bad241dc701f
add example input blast xml and output html page
 Jan Kanis <jan.code@jankanis.nl> parents: diff
changeset | 61 alert(["success:", this.iActiveRequests, obj.responseText]); | 
| 
bad241dc701f
add example input blast xml and output html page
 Jan Kanis <jan.code@jankanis.nl> parents: diff
changeset | 62 } | 
| 
bad241dc701f
add example input blast xml and output html page
 Jan Kanis <jan.code@jankanis.nl> parents: diff
changeset | 63 | 
| 
bad241dc701f
add example input blast xml and output html page
 Jan Kanis <jan.code@jankanis.nl> parents: diff
changeset | 64 //------------------------------------------------------------------------------------------------------------- | 
| 
bad241dc701f
add example input blast xml and output html page
 Jan Kanis <jan.code@jankanis.nl> parents: diff
changeset | 65 RemoteDataProvider.prototype.onStart = function() { | 
| 
bad241dc701f
add example input blast xml and output html page
 Jan Kanis <jan.code@jankanis.nl> parents: diff
changeset | 66 // alert(["start:", this.iActiveRequests]); | 
| 
bad241dc701f
add example input blast xml and output html page
 Jan Kanis <jan.code@jankanis.nl> parents: diff
changeset | 67 } | 
| 
bad241dc701f
add example input blast xml and output html page
 Jan Kanis <jan.code@jankanis.nl> parents: diff
changeset | 68 | 
| 
bad241dc701f
add example input blast xml and output html page
 Jan Kanis <jan.code@jankanis.nl> parents: diff
changeset | 69 //------------------------------------------------------------------------------------------------------------- | 
| 
bad241dc701f
add example input blast xml and output html page
 Jan Kanis <jan.code@jankanis.nl> parents: diff
changeset | 70 RemoteDataProvider.prototype.onStop = function() { | 
| 
bad241dc701f
add example input blast xml and output html page
 Jan Kanis <jan.code@jankanis.nl> parents: diff
changeset | 71 // alert(["start:", this.iActiveRequests]); | 
| 
bad241dc701f
add example input blast xml and output html page
 Jan Kanis <jan.code@jankanis.nl> parents: diff
changeset | 72 } | 
| 
bad241dc701f
add example input blast xml and output html page
 Jan Kanis <jan.code@jankanis.nl> parents: diff
changeset | 73 | 
| 
bad241dc701f
add example input blast xml and output html page
 Jan Kanis <jan.code@jankanis.nl> parents: diff
changeset | 74 //------------------------------------------------------------------------------------------------------------- | 
| 
bad241dc701f
add example input blast xml and output html page
 Jan Kanis <jan.code@jankanis.nl> parents: diff
changeset | 75 RemoteDataProvider.prototype.onError = function(obj) { | 
| 
bad241dc701f
add example input blast xml and output html page
 Jan Kanis <jan.code@jankanis.nl> parents: diff
changeset | 76 //alert(["error:", this.iActiveRequests, obj.status]); | 
| 
bad241dc701f
add example input blast xml and output html page
 Jan Kanis <jan.code@jankanis.nl> parents: diff
changeset | 77 } | 
| 
bad241dc701f
add example input blast xml and output html page
 Jan Kanis <jan.code@jankanis.nl> parents: diff
changeset | 78 | 
| 
bad241dc701f
add example input blast xml and output html page
 Jan Kanis <jan.code@jankanis.nl> parents: diff
changeset | 79 | 
