symfony HTTP 400使用API(GET)时出错,真实的的问题是什么?

ukqbszuj  于 2023-05-07  发布在  其他
关注(0)|答案(1)|浏览(126)

我有一个symfony服务器,它有jwt认证和一个angular客户端应用程序,它正在发出请求。我成功地登录了,现在我想把一些数据放在一个选择。
此数据是要分配给员工的本地值。
下面是我的api.service.ts方法:

getLocales(): Observable<any>
{
  const headers = { 'Content-Type':'application/json','Access-Control-Allow-Origin': 'https://localhost:8000' }

  return (this.http.get( environment.url + 'api/local', { headers: headers }));
}

我把下一个组件的所有局部变量

ngOnInit(): void {
    // Cogemos los locales para listarlos en el select
    this.api.getLocales()
      .subscribe((locales) => {
        console.log(JSON.stringify(locales));
        this.locales = locales.locals;
      });
  }

我在HTML中这样显示它:

<div class="form-group col-12 col-md-6 mt-3">
                <label class="m-2" for="local">Local:</label>
                <select name="local" id="local">
                    <option *ngFor="let local of locales;" value="{{local}}">{{local}}</option>
                </select>
            </div>

我还有一个interceptorService来为我发出的每个请求添加身份验证:

export class AuthInterceptorService {

  constructor() { }

  intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
  
    // const token: string = localStorage.getItem('token');

    let request = req;

    if (window.localStorage.getItem('token')) {
      request = req.clone({
        setHeaders: { 
          // 'Access-Control-Allow-Origin': ['http://localhost:4200','https://localhost:8000'],
          Authorization: `Bearer ${ window.localStorage.getItem('token') }`
        }
      });
    }

    return next.handle(request);
  }
}

我的问题是我收到 *400 HTTP状态 *,我不知道为什么。Postman工作正常,我的服务器配置得很好。

vlju58qv

vlju58qv1#

我有它!我的请求在标题'访问控制允许起源',这是服务器的问题,而不是为客户端.我的指挥官不允许这样做。

相关问题