Sí, por ahí anda la cosa. El objeto XMLHttpRequest tiene una restricción de dominio (por cuestiones de seguridad que no me quedan 100% claras, la verdad). El tema es que si la página que tiene este código está en
www.sitio1.com, no va a poder comunicarse con
www.sitio2.com, ni ningún otro dominio salvo ése en el que está corriendo. O sea que si hacés un post a google, sea o no sea https, no se va a conectar, y no hay tu tía.
Una manera relativamente simple de solucionarlo es crear un "proxy". La idea es simple. Vos no podés comunicarte directamente con otro dominio, pero sí podés comunicarte con un script, pongamos en php, que esté en tu mismo dominio. Entonces es ése script el que se encarga de hacer el pedido al otro dominio, recibe la respuesta y se la devuelve a tu aplicación en AJAX. Para la aplicación, no hay nada raro, porque siempre se está comunicando con "algo" que está en el mismo dominio, que es justamente es script que te hace de "puente".
Suerte
Califa