jquery - example - PhoneGap y diferentes solicitudes de método HTTP a una API RESTful
javascript consume rest web service (1)
Estoy construyendo una aplicación móvil con PhoneGap y la necesito para que se ajuste a mis servicios API REST.
Básicamente, si quiero recuperar / eliminar / actualizar / verificar / (acción no alternativa) el recurso, emitir una solicitud GET / DELETE / PUT / HEAD / POST a través del método ajax de jQuery a http://example.com/resource/:id es soportado. Aquí es donde me encuentro con el problema.
Dado que PhoneGap contiene archivos y los sirve localmente (por ejemplo: file: //file.html), tendré problemas de dominio cruzado con la llamada ajax. Además, entiendo que JSONP básicamente está insertando una secuencia de comandos en el documento, por lo tanto, es una solución para un método de solicitud
Aquí hay algunas ideas:
- En lugar de solicitar un tipo de datos de JSON o JSONP, ¿podría una solicitud de trabajo HTML analizar la respuesta del documento en un objeto JSON?
- Para cada solicitud, cree y elimine un iFrame en una página como este póster Uso de PUT / POST / DELETE con JSONP y jQuery (se siente sucio y poco elegante)
- Alguna forma de CORS del lado del servidor con Nombre de usuario / Contraseña o Token que se enviará con la solicitud para permitir esto (estoy implementando primero en iOS)
- Alguna otra táctica que no puedo definir creativamente.
¿Cuál es la solución más elegante para este problema? Los complementos son bienvenidos.
TL; DR: ¿Cómo agrego soporte entre dominios en solicitudes $ .ajax para diferentes métodos HTTP?
Tienes que poner en lista blanca tu servidor en las propiedades de PhoneGap. De forma predeterminada, PhoneGap restringe el acceso a sitios externos para evitar problemas de seguridad. PhoneGap no tiene problemas de dominios cruzados, como los sitios alojados en http estándar. Lea aquí para obtener más información: http://docs.phonegap.com/en/2.1.0/guide_whitelist_index.md.html#Domain%20Whitelist%20Guide