Ошибка SPDY_PROTOCOL при обращении HTTP API к бэкэнду PHP - PullRequest
0 голосов
/ 16 июня 2019

У меня есть приложение Ionic 4 с PHP + mysql db backend. Я разработал и протестировал оба локально с использованием XAMPP. Недавно я перенес свой бэкэнд на веб-хостинг. При тестировании через POSTMAN вызов завершается правильно. Однако, когда я создаю HTTP-вызов в Ionic, я всегда получаю сообщение об ошибке. В хроме это выглядит так: SPDY_ERR Chrome

В IE возникает точно такая же ошибка.

В моем PHP-бэкэнде включена поддержка CORS с использованием следующих строк:

Header add Access-Control-Allow-Origin "*"
Header add Access-Control-Allow-Headers "origin, x-requested-with, content-type, authorization"
Header add Access-Control-Allow-Methods: "GET,POST,OPTIONS,DELETE,PUT"

Звонок в Angular выглядит так:

let apiUrl = 'https://xxxxxxxx.000webhostapp.com/index.php/';

@Injectable({
  providedIn: 'root'
})
export class ApiService {

  constructor(public http: HttpClient) { }

  postData(data, type) {
    return new Promise((resolve, reject) => {
      const httpOptions = {
        headers: new HttpHeaders({
          'Content-Type': 'application/json'
        })
      };

      this.http.post(apiUrl + type, JSON.stringify(data), httpOptions).subscribe(res => {
        resolve(res);
      }, (e) => {
        reject(e);
      });
    });
  }

  ...

Наконец, заголовки неудачного запроса в Chrome, если это полезно:

enter image description here

Некоторые поиски в Google научили меня, что это, скорее всего, ошибка, связанная с CORS. Я нахожу странным, однако, что при использовании POSTMAN вызов работает отлично, но через приложение - нет, хотя я использую те же заголовки, URL и тело.

Любая помощь высоко ценится.

Спасибо

...