Esta es una pregunta bastante amplia, y podría justificar una wiki en sí misma. También hay un poco en google con respecto a los dos, pero creo que puedo golpear algunos puntos clave.
- Si necesita un solo lectura interfaz AJAX para sus servidores y que necesita para apoyar IE < = 9, Opera < 12, o Firefox < 3.5 o varios otros navegadores antiguos o oscuros, CORS está fuera, utilizar JSONP . IE8 e IE9 soportan CORS pero tienen problemas, vea el enlace en el primer comentario a continuación.
- Por otro lado, si su API web es de lectura/escritura (por ejemplo, REST completo o simplemente POST/GET) en lugar de simplemente leer (es decir, GET), JSONP está desactivado. Usa CORS. JSONP es intrínsecamente de solo lectura.
Si ninguno de estos es un problema, simplemente elegiré lo que sea más fácil o más familiar para usted. Si es un lanzamiento, prueba CORS, ya que es la solución más "moderna" y JSONP es más un hack, convirtiendo datos en scripts para eludir las restricciones entre dominios. Sin embargo, CORS generalmente requiere más configuración del lado del servidor.
Si estás usando jQuery, no estoy seguro de dónde viene la idea de que CORS es "mucho más amigable al cliente y más fácil de implementar." Ver https://gist.github.com/3131951. jQuery abstrae los detalles de JsonP, y CORS en realidad puede ser un tanto complicado de implementar en su servidor dependiendo de la tecnología que esté usando.
Recientemente desarrollé una aplicación web, usando jquery y backbone.js, que lee de varios servicios web de dominio cruzado que controlamos, y terminamos usando Json-P en lugar de CORS porque necesitamos dar soporte a IE7 y era un poco más simple en el lado del servidor (ejecutamos Django w/DjangoRestFramework), y prácticamente lo mismo con jquery en el lado del cliente.
Si admite IE8 e IE9 también puede descartar CORS debido a que el Tipo de contenido se ve obligado a "texto/normal", consulte el punto (4) en http://blogs.msdn.com/b/ ieinternals/archive/2010/05/13/xdomainrequest-restrictions-limitations-and-workarounds.aspx – jamiebarrow
Make sense buddy –
Lo fundamental en tu respuesta es muy útil, ¡gracias! – MVCDS