Solicitud posterior http con origen cruzado en javascript

Tengo un problema con una llamada http en Firefox. Sé que cuando hay un origen cruzado, primero Firefox hace OPCIONES antes del POST para conocer los encabezados de control de acceso y permiso. Con este código no tengo ningún problema:

Net.requestSpeech.prototype.post = function(url, data) { if(this.xhr != null) { this.xhr.open("POST", url); this.xhr.onreadystatechange = Net.requestSpeech.eventFunction; this.xhr.setRequestHeader("Content-Type", "application/json; charset=utf-8"); this.xhr.send(data); } } 

Probé este código con un html simple que invoca esta function. Todo está bien y tengo la respuesta de OPTIONS y POST, y process la respuesta. Pero, estoy tratando de integrar este código con una aplicación existen con el uso de jquery (no sé si esto es un problema), cuando el envío (datos) se ejecuta en este caso, el browser (firefox) hace lo mismo, primero hazlo una request de OPCIÓN, pero en este caso no recibe la respuesta del server y pone este post en la console:

 [18:48:13.529] OPTIONS http://localhost:8111/ [undefined 31ms] 

Indefinido … lo indefinido es porque no recibo la respuesta, pero el código es el mismo, no sé por qué en este caso la opción no recibe la respuesta, ¿alguien tiene una idea?

Depuro mi aplicación de server y las OPCIONES llegan bien al server, pero parece que el browser no espera la respuesta.

editar más tarde: ok, creo que el problema es cuando ejecuto con un html simple con una label SCRIPT que invoca el método que hace que la request se ejecute bien, pero en esta aplicación que no recibe la respuesta, tengo un formulario que hace un evento onsubmit, creo que el evento submit regresa muy rápido y el browser no tiene time para get la request OPTIONS.

edita más tarde más tarde: WTF, resuelvo el problema, hago que la request POST se sincronice:

 this.xhr.open("POST", url, false); 

La respuesta de envío es muy rápida y no puedo esperar a la respuesta de OPCIÓN del browser, ¿hay alguna idea para esto?

Debido a la misma política de origen, no puede enviar publicaciones cruzadas de origen, puede solucionarlo incluyendo sitios en iframes (si tiene acceso al dominio) el sitio original contiene iframe en el sitio externo, la dirección interna es legal.