не могу включить Cors в тонкий отдых API - PullRequest
0 голосов
/ 06 ноября 2018

Я со вчерашнего дня пытаюсь разрешить cors в php использовать API от angular. Я использую Slim и библиотеку tuupola / cors-middleware, я следовал инструкциям, но у меня это не работает, я не смог написать сообщение и уже пробовал другие способы.

Это мой код: Тонкая конфигурация промежуточного программного обеспечения:

$app->add(new Tuupola\Middleware\CorsMiddleware([
    "origin" => ["*"],
    "methods" => ["GET", "POST", "PUT", "PATCH", "DELETE", "OPTIONS"],
    "headers.allow" => ["Authorization", "If-Match", "If-Unmodified-Since"],
    "headers.expose" => ["Etag"],
    "credentials" => false,
    "cache" => 0
]));

Тонкий ответ контроллера:

return $response->withJson(
            [
                'success' => [
                    'message' => $signInUserResponse->message()
                ]
            ],
            200
        );

Угловой 6 код вызова:

export class UserService {

  httpOptions = {
    headers: new HttpHeaders({
      'Content-Type': 'Application/json',
      'Access-Control-Allow-Origin':'*'
    })
  };

  selectedUser: User;

  readonly URL_API = 'http://localhost:8000/signup';
  users: User[];

  constructor(
    private http: HttpClient,
  ){
    this.selectedUser = new User;

  }

  postUser(user: User){
    return this.http.post(this.URL_API, user, this.httpOptions);
  }

  getUser(){
    return this.http.get(this.URL_API);
  }
}

Это ошибка:

Access to XMLHttpRequest at 'http://localhost:8000/signup' from origin 'http://localhost:4200' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.
...