Я пытаюсь сделать Post-запрос к PHP API, но получаю ошибку «заголовок Access-Origin-Control не установлен на ресурсе», но заголовок установлен.Когда я делаю запрос с почтальоном, все в порядке, и вы можете увидеть в ответе, что заголовок установлен.
Я уже пытался установить заголовок на *, но это не помогло.
Угловой
createUser(formData: FormData) {
const httpOptions = {
headers: new HttpHeaders({
'Content-Type': 'multipart/form-data',
})
};
return this.http.post(this.apiURL + 'create_user', formData, httpOptions);
}
PHP
<?php
header("Access-Control-Allow-Origin: http://localhost:4200");
header("Access-Control-Allow-Methods: PUT, GET, POST, DELETE");
header("Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept");
/**
* Creates a User.
*/
require 'database.php';
$cost = 10;
$user = array();
$username=$_POST["username"];
$email=$_POST["email"];
$password=$_POST["password"];
$password_hash = password_hash($password, PASSWORD_BCRYPT, ["cost" => $cost]);
$resultCreate = pg_query_params($con, "INSERT INTO wriggling_snakes.users (email, username, password) VALUES ($1, $2, $3)", array($email, $username, $password_hash));
$resultFind = pg_query($con, "SELECT id, username FROM wriggling_snakes.users WHERE wriggling_snakes.users.email='$email'");
if(!$resultFind){
echo "Error";
}else {
$i = 0;
while ($row = pg_fetch_assoc($resultFind)) {
$user['id'] = $row['id'];
$user['username'] = $row['username'];
$i++;
}
echo json_encode($user);
}
Почтальон Ответ Заголовки
Дата → Чт, 06 июня 2019 20:58:13 GMT Сервер → Apache / 2.4.39 (Unix) OpenSSL / 1.0.2r PHP / 7.1.29 mod_perl / 2.0.8-dev Perl / v5.16.3 X-Powered-By → PHP / 7.1.29 Access-Control-Allow-Origin → http://localhost:4200 Доступ-Control-Allow-Methods → PUT, GET, POST, DELETE Access-Control-Allow-Headers → Origin, X-Requested-With, Content-Type, Accept Content-Length → 30 Keep-Alive → timeout = 5, max =100 Соединение → Keep-Alive Content-Type → text / html;кодировка = UTF-8