xhr.onreadystatechange = xhrHandler(); xhr.open("POST", url); xhr.send(postData); State 4 means “done” ... function xhrHandler() { if (this.readyState != 4) { return; } if (this.status != 200) { // Handle error ... return; } ... var text = this.responseText; Response available as var document = this.responseXML; raw text or XML } CS 142 Lecture Notes: Forms Slide 1 Higher-Level AJAX Example