Угловой Нет 'Access-Control-Allow-Origin' - PullRequest
0 голосов
/ 20 сентября 2019

Я создаю ионное + угловое приложение для отображения результатов euromillions, и я пытаюсь получить данные по внешнему API, я не хочу использовать сервер, он просто для отображения результатов API, но яполучить блок cors, и я не знаю, как решить эту проблему, кто-то может мне помочь?Спасибо

lotteries.service.ts

import { Injectable } from '@angular/core';
import { HttpClientModule, HttpClient } from '@angular/common/http';
import { Euromillions } from './lottery.model';


@Injectable({
    providedIn: 'root'
})
export class LotteriesService {
    private euromillions: Euromillions[] = [
        {
            id: 'r1',
            numbers: '6-14-22-37-45',
            stars: '3-7',
            draw_info: 'Sorteio Nº076, 22-10-2019'
        }
    ];
    constructor(private httpService: HttpClient) { }

    getLastEuromillions() {
        return [...this.euromillions];
    }

    getApi() {

        return this.httpService.get('https://nunofcguerreiro.com/api-euromillions-json');
    }
}

lotteries.page.ts

import { Component, OnInit } from '@angular/core';

import { Euromillions } from './lottery.model';
import { LotteriesService } from './lotteries.service';

@Component({
  selector: 'app-lotteries',
  templateUrl: './lotteries.page.html',
  styleUrls: ['./lotteries.page.scss'],
})
export class LotteriesPage implements OnInit {
  euromillions: Euromillions[];

  constructor(private lotteriesService: LotteriesService) { }

  ngOnInit() {
    this.lotteriesService.getApi().subscribe((data)=>{
      console.log(data);
    }
    )};
}

ошибка изображения

Ответы [ 2 ]

1 голос
/ 20 сентября 2019

Внешний браузер блокирует ваш запрос.у вас есть два варианта.либо используя серверную часть, чтобы получить запрос и перенаправить его.Или владелец API допускает перекрестное происхождение.прочитайте эту ссылку для более подробной информации ссылка mozila

0 голосов
/ 21 сентября 2019

API Gateway от AWS поможет вам решить эту проблему в течение всего дня.

Когда вы запускаете HTTP-запрос, рекомендуется вызывать модуль из серверной части (с помощью js / node), это поможет вамвокруг вопроса CORS.но зачем настраивать сервер / бэкэнд, если вы можете использовать для него AWS.

, сделав несколько дополнительных шагов, вы можете создать API, который передает запрос, а затем вызывать его из браузера, куда он отправит вашНа странице ответ разрешен для нескольких доменов.

см. мой другой ответ здесь: Как получить данные о вулканических происхождениях в xml?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...