Pregunta

Estoy interesado en ver lo que el mínimo de la cruz-el navegador de código Javascript (jQuery es muy bien también) podría ser posible para verificar si un sitio me gustaría enviar cross-domain peticiones AJAX tiene soporte para CORS.

Sé que jQuery tiene un método para comprobar si el navegador lo admite.Pero realmente me gustaría ser capaz de comprobar si el sitio remoto también lo admite.

Pensé que sólo tenía que comprobar un encabezado HTTP pero, por supuesto, el XHR, se produce una excepción cuando se trata de hacer una cruz solicitud de dominio a un sitio que no se refiere específicamente a la apoyan.

Pero hay una forma de comprobar que una excepción por XMLHttpRequest fue debido a que el sitio no apoyo CORS en lugar de que algo va mal?(No tiene que apoyar XDomainRequest.)

En cualquier caso, no estoy seguro de que el mejor mínimo/más rápido de cross-browser para ir a buscar un HTTP HEAD el uso de AJAX, que supongo que es la forma ligera en lugar de buscar una página, etc.

Caso de uso:Una vez que sé que si el navegador y AJAX proveedor de apoyo CORS o no, puedo elegir si desea enviar la más featureful JSON/CORS las solicitudes o volver a JSONP las solicitudes cuando sea necesario.

¿Fue útil?

Solución

En cuanto al especificación, no es posible.

Si hay un error de red:En caso de errores DNS, la negociación TLS el fracaso, o de otro tipo de errores de la red, se aplican el error de red pasos.No solicitar cualquier tipo de usuario final de la interacción...

De otra manera:Realizar un intercambio de recursos de verificación.Si vuelve a fallar, se aplican a la red de error pasos...

No hay ninguna manera de identificar el caso en el que CORS no está permitido, ya que el error de red pasos se aplica en cualquier caso.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top