BG Development


  Reply to this topicStart new topicStart Poll

> Angular Request и CORS проблем
emagi
Публикувано на: 02-04-2021, 12:26
Quote Post



Име:
Група: Потребител
Ранг: Редовен член

Мнения: 531
Регистриран на: 12.03.07



Какво се опитвам да направя: чрез PHP искам да създам Rest API:
QUOTE
.../v1/regions/{regionid}/places

Чрез .htaccess редиректвам към сайта places.php?regionid={regionid} със следния код:
CODE
RedirectMatch 301 ^(.*?)\/v\d+\/regions\/([0-9]+)\/(.*?)$ $1/$3?regionid=$2

Ако чрез браузъра извикам
QUOTE
http://localhost/v1/regions/12/places
бивам пренасочен към http://localhost/v1/places?regionid=12
Обаче, ако чрез Angular 10 и httpClient направя request , получавам CORS проблем
QUOTE
Cross-Origin Resource Sharing error: MissingAllowOriginHeader

Backend PHP
Структура на проекта: root директория и в нея файла places.php
Places.php
CODE
header("Access-Control-Allow-Origin: *");
header("Content-Type: application/json; charset=UTF-8");
header("Access-Control-Allow-Methods: OPTIONS,GET,POST,PUT,DELETE");
header("Access-Control-Max-Age: 3600");
header("Access-Control-Allow-Headers: Content-Type, Access-Control-Allow-Headers, Authorization, X-Requested-With, origin");
.............................
............................


Fronend:
Angular 10
src -> proxy.conf.json

CODE
{
 "/v1/*": {
   "target": "http://localhost",
   "secure": false,
   "logLevel": "debug"
 }
}


Request:

CODE

     headersLocal = new HttpHeaders({'Access-Control-Allow-Origin': '*'});
     return this.httpClient.get<T>(this.basePath + resourcePath, { headers : headersLocal, params: httpParams});


Идеи?

Това мнение е било редактирано от emagi на 02-04-2021, 12:29
PMEmail Poster
Top
relax4o
Публикувано на: 03-04-2021, 15:29
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 2585
Регистриран на: 04.04.07



Access-Control-Allow-Origin хедъра е response header. Не е нужно да го изпращаш със заявката.

Получаваш ли нужните хедъри от сървъра? Инспектирай в devtools-а и виж хедърите, които сървъра ти връща дали съдържа Access-Control-Allow-Origin-а, който си задал. Ако не, значи някъде response-а ти бива променен.


--------------------
Бисери :D

QUOTE (oveRLuckEd)
Ползваш някоя нова версия на PHP, която е вече ооп ориентирана и заради това ти я изкарва тази грешка.


QUOTE (nbacool2)
Щом няма input полета, значи няма откъде да се направи SQL инжекция Very Happy
PM
Top
1 потребители преглеждат тази тема в момента (1 гости, 0 анонимни потребители)
Потребители, преглеждащи темата в момента:

Topic Options Reply to this topicStart new topicStart Poll

 


Copyright © 2003-2019 | BG Development | All Rights Reserved
RSS 2.0