title: I have a WCF service with a javascript endpoint that only works in IE
body: <p>I have a remote server with a webhttpbinding that i'd like to access using javascript.</p>
  
  <p>Below is a simple javascript function that executes the test function which is just a random number generator which returns that number.  </p>
  
  <pre><code>Function DoTest()
  {
      var xmlHttp = new XMLHttpRequest();
  
  
    var url = "location/to/service/service.svc/ajax/";
    url = url + test;
  
  
   var body = '{ }';
  
  
  xmlHttp.open("POST", url, true);
   xmlHttp.setRequestHeader("Content-type", "application/json");
   xmlHttp.send(body);
   xmlHttp.onreadystatechange=function(){
      if(xmlHttp.readyState == 4){
        alert(xmlHttp.responseText);
  }
  }
  }
  </code></pre>
  
  <p>When i execute this function in ie9, i get {d: 6} or whatever but when i try executing the same function in chrome or firefox 5, it gives me alert with no text in it.</p>
  
  <p>when i changed the xmlHttp.responseText to xmlHttp.responseXML in ie i get [Object] and in firefox 5 and chrome the result is null.</p>
  
  <p>Does anyone have any idea what i can do to get this to work on all modern browsers?</p>
  
  <p>UPDATE: Fiddler Results
  Chrome:</p>
  
  <pre><code>OPTIONS http://www.address.com/service.svc/ajax/add HTTP/1.1
  Host: www.address.com
  Connection: keep-alive
  Access-Control-Request-Method: POST
  Origin: null
  User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534.30 (KHTML, like Gecko)                Chrome/12.0.742.112 Safari/534.30
   Access-Control-Request-Headers: Content-Type
  Accept: */*
  Accept-Encoding: gzip,deflate,sdch
  Accept-Language: en-US,en;q=0.8
  Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
  </code></pre>
  
  <p>IE 9</p>
  
  <pre><code> POST http://www.address.com/service.svc/ajax/add HTTP/1.1
      Accept: */*
      Content-Type: application/json
      Accept-Language: en-us
      Accept-Encoding: gzip, deflate
      User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)
      Host: www.address.com
      Content-Length: 17
      Connection: Keep-Alive
      Pragma: no-cache
      Cookie: ASP.NET_SessionId=m54ult1lvdqj0yeb3nm4dz4w
      {"x":123,"y":332}
  </code></pre>
  
  <p>FF:</p>
  
  <pre><code>  OPTIONS http://www.address.com/service.svc/ajax/add HTTP/1.1
       Host: www.address.com
       User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:7.0a1) Gecko/20110617 Firefox/7.0a1
       Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
       Accept-Language: en-us,en;q=0.5
       Accept-Encoding: gzip, deflate
       Connection: keep-alive
       Origin: null
       Access-Control-Request-Method: POST
       Access-Control-Request-Headers: content-type
       Pragma: no-cache
       Cache-Control: no-cache
  </code></pre>