• ENTRAR
  • No hay productos en el carrito.

PROBLEMA CON ACCESO A SERVIDOR EXTERNO

Viendo 5 publicaciones - del 1 al 5 (de un total de 5)
  • Autor
    Publicaciones
  • #2173

    Pedro Luis
    Participante

    Buenas noches. Resulta que estoy probando en la unidad del HTTP, y localmente me funciona perfectamente.

    El problema viene cuando sustituyo en el api.service.ts la variable   usersUrl  y en lugar de asignarle ‘app/users.json’ le asigno ‘http://www.menusdehoy.com/probar-json/users.json’, porque al acceder desde local a ese servidor la pantalla se me queda en blanco y no me muestra nada.

    Evidentemente, he copiado el archivo users.json de la unidad al servidor. Si lo ejecuto directamente en un navegador como una url, me muestra perfectamente el contenido. Sin embargo, desde el Angular JS ejecutado en localhost:3000 no me muestra nada.

    Inspeccionando en el navegador, en NETWORK me da como último acceso el archivo users.json, con status 304, pero no me muestra nada en la pantalla.

    Si inspecciono el CONSOLE, me muestra este error:

    XMLHttpRequest cannot load http://www.menusdehoy.com/probar-json/users.json. No ‘Access-Control-Allow-Origin’ header is present on the requested resource. Origin ‘http://localhost:3000’ is therefore not allowed access.

    No sé si son suficientes pistas, pero es que ando a vueltas buscando por internet y no consigo encontrar qué es lo que está pasando. Perdonad, pero en esto de Angular JS soy nuevo (por eso hice el curso, claro).

    Muchas gracias de antemano por vuestra ayuda.

    #2176

    Israel Parra
    Jefe de claves

    Hola Pedro,

    Si estás trabajando con php puedes crear un archivo .htaccess en la raíz de tu proyecto y añadir el siguiente código.

    
    Header add Access-Control-Allow-Origin "*"
    Header add Access-Control-Allow-Methods: "GET,POST,OPTIONS,DELETE,PUT"
    

    Lo debes adaptar a tus necesidades, pero eso resuelve el problema.

    Saludos.

    #2180

    Pedro Luis
    Participante

    Buenos días.

    Hice lo que me comentaste, tanto en el raíz del sitio, que ya tenía un .htaccess, y sólo le agregué esas dos líneas al inicio del mismo. No funcionaba. Probé múltiples combinaciones de cosas y nada, no andaba.

    Al final se me ocurrió probar poniendo en la variable usersUrl el valor ‘http://menusdehoy.com/probar-json/users.json’, es decir, la url pero sin la zona www, y sorprendentemente funcionó. Hice varios cambios y los actualizaba.

    Muchas gracias por el consejo. Seguiré probando ahora generando los JSON desde base de datos mysql, pero ya utilizando para ello un archivo php.

    #2183

    Israel Parra
    Jefe de claves

    Buenos días Pedro, me alegra mucho que lo hayas podido solucionar, cualquier duda que tengas no dudes en preguntar de nuevo.

    Saludos.

    #2218

    Ariel Gonzalo Rama
    Participante

    Como dato extra, ya que a mi me ha sucedido lo mismo. Si no tienes acceso al server y necesitas seguir desarrollando, puedes instalar en chorme el plugin CORS: https://chrome.google.com/webstore/detail/allow-control-allow-origi/nlfbmbojpeacfghkpbjhddihlkkiljbi “Access-Control-Allow-Origin” y así no tendrás problemas al desarrollar.
    Luego  tendrás que darle  la solución que te propone “cursosdesarrolloweb” porque sino no funcionará en otros navegadores, esto solo para salir del paso.

    Si piensas compilar tu app para correr en móviles te funcionará sin necesidad de alterar el servidor.

    Saludos.

Viendo 5 publicaciones - del 1 al 5 (de un total de 5)

Debes estar registrado para responder a este debate.

Cursosdesarrolloweb ©. Todos los derechos reservados.
Inscríbete a cualquier curso y accede a todos los cursos gratuitos para siempre
+ +

Login

Create an Account Back to login/register