Я работаю над проектом 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);
?>
Это то, что вам нужно сделать. Вы должны также включить заголовки в угловых.
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());
Вот как вы должны сделать почтовый запрос. Обязательно подпишитесь на этот звонок, и тогда вы сможете получить данные от возврата.
Я надеюсь, что это помогает.
Других решений пока нет …