Ошибка ionic3 на андроиде при вызове GET HTTP - PullRequest
0 голосов
/ 14 ноября 2018

В Ionic3 я установил import { HttpClientModule } from '@angular/common/http';, и в своем коде я пытаюсь вызвать ниже URL:

testHTTP(){
this.httpClient.get("https://api.upcitemdb.com/prod/trial/lookup?upc=5425016921463").subscribe(
  data => {
    console.log('Data : ', data);
    this.lookup = data["items"][0].title;
  }, err => {
    console.log('Error : ', err);
    this.lookup = JSON.stringify(err);
});
}

, но каждый раз, когда происходит сбой с:

{"headers ": {" normalizedNames ": {}," lazyUpdate ": null," headers ": {}}," status ": 0," statusText ":" Unknown Error "," url ": null," ok ":false, "name": "HttpErrorResponse", "message": "Ответ об ошибке Http для (неизвестный URL): 0 Неизвестная ошибка", "error": {"isTrusted": true}}

Когда я нажимаю кнопку вызова testHTTP на Chrome, я получаю ошибку CORS с этим объектом (но я могу деактивировать CORS и получить реальный ответ).

Как настроить ионный http для полученияработать пожалуйста?

1 Ответ

0 голосов
/ 14 ноября 2018

Вы должны использовать XMLHttpRequest.И не забудьте Заголовки.

var xhr = new XMLHttpRequest();
xhr.open("GET", "https://api.upcitemdb.com/prod/trial/lookup?upc=5425016921463", true);

//Really important to set this header
xhr.setRequestHeader("Access-Control-Allow-Origin","http://localhost:8100"); 

xhr.onreadystatechange = function() {
   if(xhr.readyState == xhr.DONE) {
  let ResponseFromRequest = xhr.response //Response from your request   
}

}

xhr.send(null);
...