Solución:
Te encuentras con problemas de CORS.
Hay varias formas de solucionar este problema.
- Apague CORS. Por ejemplo: cómo apagar cors en chrome
- Utilice un complemento para su navegador
- Utilice un proxy como nginx. ejemplo de cómo configurar
- Realice la configuración necesaria para su servidor. Este es más un factor del servidor web que ha cargado en su instancia EC2 (suponiendo que esto es lo que quiere decir con “servicio web de Amazon”). Para su servidor específico, puede consultar el sitio web enable CORS.
Más detalladamente, está intentando acceder a api.serverurl.com desde localhost. Esta es la definición exacta de solicitud entre dominios.
Al apagarlo solo para hacer su trabajo (está bien, pero poca seguridad para usted si visita otros sitios y simplemente patea la lata), puede usar un proxy que hace que su navegador piense que todas las solicitudes provienen del host local cuando realmente tienes un servidor local que luego llama al servidor remoto.
por lo que api.serverurl.com podría convertirse en localhost: 8000 / api y su nginx local u otro proxy enviará al destino correcto.
Ahora, por demanda popular, 100% más de información CORS … ¡el mismo gran sabor!
Pasar por alto CORS es exactamente lo que se muestra para aquellos que simplemente están aprendiendo la interfaz. https://codecraft.tv/courses/angular/http/http-with-promises/
Mi “servidor API” es una aplicación PHP, por lo que para resolver este problema encontré que la siguiente solución funciona:
Coloque las líneas en index.php
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: GET, POST, PATCH, PUT, DELETE, OPTIONS');
header('Access-Control-Allow-Headers: Origin, Content-Type, X-Auth-Token');
En la API web de AspNetCore, este problema se solucionó agregando “Microsoft.AspNetCore.Cors” (ver 1.1.1) y agregando los siguientes cambios en Startup.cs.
public void ConfigureServices(IServiceCollection services)
{
services.AddCors(options =>
{
options.AddPolicy("AllowAllHeaders",
builder =>
{
builder.AllowAnyOrigin()
.AllowAnyHeader()
.AllowAnyMethod();
});
});
.
.
.
}
y
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
// Shows UseCors with named policy.
app.UseCors("AllowAllHeaders");
.
.
.
}
y poniendo [EnableCors("AllowAllHeaders")]
en el controlador.