Ошибка CORS в функции карты Angular 4 из-за переполнения стека

Я работаю над проектом Angular4.

Для тестирования сначала я сделал запрос get к любому json api, и он работал хорошо.

Сейчас я работаю над подключением файла php и проверяю его. В test.php у меня было

echo "string";

Теперь в консоли я получаю эту ошибку:

XMLHttpRequest не может загрузить Http: //localhost/php-file/test/test.php.
Нет заголовка «Access-Control-Allow-Origin» в запрошенном
ресурс. ПроисхождениеHTTP: // локальный: 4200Поэтому не допускается
доступ.

Я также приложил скриншот этого. Я гуглил это, но не мог найти никакого решения для этого.

введите описание изображения здесь

Затем я отредактировал test.php, как показано ниже. Это правильный способ сделать это?

<?php
header("Access-Control-Allow-Origin: *");
$data = ['news','dfdf','ddd'];
echo  json_encode($data);
?>

1

Решение

Это то, что вам нужно сделать. Вы должны также включить заголовки в угловых.

import { Http, Headers, Response, RequestOptions } from '@angular/http';headers = new Headers();
requestOptions = new RequestOptions();
this.headers.append('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE,OPTIONS');
this.headers.append('Cotent-Type', 'application/json');
this.requestOptions.headers = this.headers;

return this.http.post("http://localhost/php-file/test/test.php",  this.requestOptions).map‌​(res => res.json());

Вот как вы должны сделать почтовый запрос. Обязательно подпишитесь на этот звонок, и тогда вы сможете получить данные от возврата.

Я надеюсь, что это помогает.

1

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

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

По вопросам рекламы [email protected]