Ajax

Objekt initiering

var HRObj=false;
if (window.XMLHttpRequest)
  HRObj = new XMLHttpRequest();
else if (window.ActiveXObject)
  HRObj = new ActiveXObject("Microsoft.XMLHTTP");
else
  alert("Inget objekt");

Object methods och properties

IE : Internet Explorer
FF : Mozilla, Firefox, Netscape Navigator
AS : Apple Safari

Object PropertiesR/WIEFFAS
onreadystatechangeR/WX X
readyStateRXXX
responseBodyRX  
responseStreamRX  
responseTextRXXX
responseXMLRXXX
statusRXXX
statusTextRXXX
channelR X 

Object MethodsIEFFAS
abortXXX
getAllResponseHeadersXXX
getResponseHeaderXXX
openX X
sendX X
setRequestHeaderX X
openRequest X 
overrideMimeType X 

Readystate värden

0Uninitialized
1Loading
2Loaded
3Interactive
4Complete

Status värden

200OK
201Created
204No content
205Reset content
206Partial content
400Bad request
401Unauthorized
403Forbidden
404Not found
405Method not allowed
406Not acceptable
407Proxy Authentication required
408Request timeout
411Length required
413Requested entity too large
414Requested URL too long
415Unsupported media Type
500Internal server error
501Not implemented
502Bad Gateway
503Service unavailable
504Gateway Timeout
505HTTP Version not supporded

Object methods och properties

Open("method", "URL" [, asyncFlag [, "username" [, "password"]]]
method : GET, POST, PUT, HEAD, PROPFIND
asyncFlag : true/false default true

SCRIPT
if (HRObj) {
  HRObj.open("GET", "test1.asp");
  HRObj.onreadystatechange = function() {
    if (HRObj.readyState==4 && HRObj.status==200) {
      if (nFunc=="getText")
        txt = HRObj.responseText;
      else if (nFunc== "getXML")
        xml = HRObj.responseXML;
    }
  }
  HRObj.send(null);
}

Övrigt

Köra javascript från server : eval(HRObj.responseText)

frågesträng : name=value. & separerar, + ersätter mellanslag. två siffror för ascii kod ersätter å,ä,ö t.ex.

För att tolka responseXML krävs header("Content-type:text/xml") när data skickas.

HRObj.open("HEAD", datasource);
var sAll = HRObj.getAllResponseHeaders();
# eller
var date = new Date(HRObj.getResponseHeader("Last-Modified"));
if (status==200) then bExist=true;
else if (status==404) bExist=false;

Firefox debugger script Tools-Manage user scripts

Tillbaka