it seems that I am unable to change most requestHeaders from javascript when making an ajax call using XMLHTTPRequest. Note that when request.setRequestHeader has to be called after request.open() in Gecko browsers(see http://ajaxpatterns.org/Talk:XMLHttpRequest_Call). When I set the Referer, it doesn't get set(I looked at the request headers sent using firebug and Tamper Data). When I set User-Agent, it messed up the ajax call completely. Setting Accept and Content-Type does work, however. are we prevented from setting Referer and User-Agent in FF3?
var request = new XMLHttpRequest(); var path="http://www.yahoo.com"; request.onreadystatechange=state_change; request.open("GET", path, true); request.setRequestHeader("Referer", "http://www.google.com"); //request.setRequestHeader("User-Agent", "Mozilla/5.0"); request.setRequestHeader("Accept","text/plain"); request.setRequestHeader("Content-Type","text/plain"); request.send(null); function state_change() { if (request.readyState==4) {// 4 = "loaded" if (request.status==200) {// 200 = OK // ...our code here... alert('ok'); } else { alert("Problem retrieving XML data"); } } }