Angular 4 POST вызов php API завершается неудачно, но GET-запрос работает и POST-запросы работают от Почтальона

У меня есть приложение Angular 5, которое подключается к PHP API, все работало нормально при тестировании в локальной среде (Ubuntu 16.04, Apache2 2.4.18, PHP 7.2.2), но когда я развернул проект на своем школьном сервере (Uubuntu, Apache2 2.4) .27, PHP 7.1.11), запросы GET в порядке, но запросы POST превращаются в запросы OPTIONS, и Angular отображает ошибку.

ОШИБКА Объект {_body: ошибка, статус: 0, ОК: ложь, текст состояния: «»,
заголовки: {…}, тип: 3, URL: ноль}

Запрос от источника заблокирован для загрузки Cross-Origin
Политика совместного использования ресурсов: заголовок «Access-Control-Allow-Origin» отсутствует
присутствует на запрашиваемом ресурсе.

Я уже проверил API с Почтальоном, и все работает.

Вот код DataService

constructor(public http:Http) {
this.url = 'http://10.50.67.83/usuario1/Autozone/';
this.headers = new Headers();
this.headers.append('Content-Type', 'application/json');
}

postRequisition(client:string, cart:Selected[]) {
let data:Data;
data = {client: client, cart: cart};

return this.http.post(
this.url + 'api/requisitions/create.php',
JSON.stringify(data),
{
method: 'POST',
headers: this.headers
}).map(res => res.json());
}

Я добавил заголовок ContentType, потому что я публикую JSON.

Это заголовки, включенные в файл php.

header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Methods: POST");
header("Access-Control-Allow-Headers: Content-Type");
header("Content-Type: application/json; charset=UTF-8");
header("Accept: application/json;");

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector