При обращении к API через get в Angular 2 ошибка 405

316
30 августа 2017, 17:37

Есть некое API требующее авторизации. Я отправляю логин и пароль в headers, но по какой-то причине ошибка 405

Код сервиса:

  call(): Observable<any> {
  return Observable.create(observer => {
  let headers: Headers = new Headers();
  headers.append("Authorization", "Basic " + btoa('demo' + ":" + 'demo'));
  headers.append("Content-Type", "application/x-www-form-urlencoded");
  this._http
    .get('http://api.demo.org', new RequestOptions({headers: headers}))
    .subscribe(data => {
    observer.next(data)
  },
    error => observer.error(error)
  )
})

}

И компонента:

     this.setUser.call().subscribe(result => {
    console.log( result );
  });
Answer 1

Ты делаешь запрос при помощи JWT, при отправке запроса на сервер происходит следующее:

  1. Браузер смотрит на заголовки, заголовок Authorization
    автоматически попадает в разряд "сложных", требующих проверку на
    стороне сервера.

  2. Браузер автоматически генерирует запрос(pre-fligth request) options и отправляет на сервер, чтобы узнать, какие методы разрешены на сервере, здесь начинает работать CORSна стороне сервера.

Из вышесказанного можно сделать вывод, что сервер у тебя настроен неправильно, а именно в allowed методах нет Options.

READ ALSO
Преобразование скалярных типов при сравнении JavaScript

Преобразование скалярных типов при сравнении JavaScript

Объясните, пожалуйста, почему из трех алертов ниже исполняется только последний? Вроде как во всех трёх случаях идет мягкое сравнение на равенство...

293
Получить текст элемента из select

Получить текст элемента из select

Есть такой select, нужно определять текст опции при смене варианта, например при смене на "Вариант 2" будет выскакивать его "Выберите вариант...

276
Работа с элементом DOM

Работа с элементом DOM

Не знаю, правильно ли я охарактеризовал свой вопрос, но суть такова: Есть структура

202
Контент страницы показать на другой?

Контент страницы показать на другой?

Здравствуйте ! Помогите на html страницы выводить контент другой страницыIframe не катит, так как надо чтобы было еще кликабельно, а здесь получается...

373