No podrá usar toda su API REST con JSONP. Solo puede llamar a solicitudes GET con JSONP (funciona escribiendo una nueva etiqueta <script>
en el documento actual, luego llamando a una devolución de llamada de javascript ...).
Para usar todos los verbos HTTP (POST, DELETE, PUT), puede usar el protocolo CORS: http://www.w3.org/TR/access-control/.
CORS es un protocolo negociado entre un navegador y un servicio web que indica al navegador que es “OK” para ejecutar código Javascript de una llamada entre dominios
Para utilizarlo, solo necesita incluir algunos encabezados personalizados en su respuesta del servidor que le dicen al navegador que está bien para aceptar solicitudes de dominios cruzados. Aquí hay una publicación de blog que explica cómo implementarlo con RubyOnRails (pero debería ser bastante similar con otros framework ...): http://www.tsheffler.com/blog/?p=428
Es la solución más simple, puedes usar backbone.js como si estuvieras en el mismo dominio, y funciona con la mayoría de los navegadores actuales (Internet Explorer 8+, Firefox 3.5+, Safari 4+ y Chrome).
Si necesita mayor soporte de los navegadores, me las arreglé para hacer el trabajo de la columna vertebral utilizando easyXDM:
easyXDM es una librería Javascript que le permite como desarrollador para trabajar con facilidad por la limitación establecida en el lugar por los mismos La política de origen, a su vez, facilita la comunicación y la exposición de las API de JavaScript a través de los límites de dominio.
Es un poco más complicado, y funciona con algunos piratas iframe bien conocidos (que a veces se usan en widgets javascript como GMaps, widgets de Facebook, ...).
¡Espero que esta ayuda!
CORS no funciona cuando se usa desde un archivo: // url though. – sunkencity
Según [este enlace de microsoft] (http://blogs.msdn.com/b/ieinternals/archive/2010/05/13/xdomainrequest-restrictions-limitations-and-workarounds.aspx), el soporte de CORS está restringido en IE8/9, y no usa XMLHttpRequest, usa el objeto XDomainRequest.Algunos aspectos destacados (lowlights): solo pueden usar GET/POST, no hay encabezados personalizados, las solicitudes content-type siempre serán text/plain, no pueden enviar cookies de autenticación con solicitud, ambos deben estar en el mismo esquema http (por ejemplo, http & http o https & https), –