Http статус не в порядке: изменить заголовки - PullRequest
0 голосов
/ 29 октября 2018

Разрабатывая впервые проект angular 6 после нескольких проектов в AngularJS, я столкнулся с проблемой CORS (по крайней мере, я так думаю ..)

Что я хочу и всегда делал, это чтобы получить мои данные с сервера MySQL. Я знаю, что Angular не может напрямую общаться с Mysql. Поэтому я использую этот php API: https://github.com/mevdschee/php-crud-api

У меня есть успех с http.get (), но не с http.post (). Консоль выдает ошибку: ошибка 404 и сообщение: Ответ на предпечатную проверку не имеет статуса HTTP ok.

Читая все ответы здесь, в Stackoverflow, я думаю, это как-то связано с модификацией заголовков. Поэтому я добавил заголовки к своему запросу на публикацию, как вы можете видеть в моем коде. Никакого результата, однако. Мой проект работает на localhost: 4200, а API, который я использую для получения данных, находится на localhost: 80

Любая помощь очень ценится!

Это мой код:

import { Injectable } from '@angular/core';
import { Http, Headers } from '@angular/http';

@Injectable()
export class ServerService {

constructor(private http: Http) { }

public api = 'http://127.0.0.1/';

storeServers(servers: any[]) {
 const headers: Headers = new Headers({
   'Access-Control-Allow-Origin':  'http://127.0.0.1/',
   'Access-Control-Allow-Methods': 'POST',
   'Access-Control-Allow-Headers': 'Content-Type'
 });
 return this.http.post(this.api+'/Angular_6/http- start/api.php/testservers', servers, {headers: headers});
}

 getServers(){
  return this.http.get(this.api+'/Angular_6/http-start/api.php/testservers?transform=1');
 }
}

Я решил проблему, добавив файл прокси. Смотрите это: https://www.youtube.com/watch?v=OjmZPPKaj6A

1 Ответ

0 голосов
/ 26 февраля 2019

Вам необходимо включить и настроить промежуточное программное обеспечение Cors в PHP-CRUD-API (установить разрешенный источник в конфигурации PHP), чтобы разрешать междоменные запросы. Затем вы можете увидеть запрос ОПЦИИ на вкладке сети инструментов разработчика вашего браузера. Вы должны убедиться, что он отвечает со статусом 200 OK (и не заблокирован вашим веб-сервером).

Примечание: я являюсь автором PHP-CRUD-API

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