Связка angular2 с API
Передо мной стоит задача связать форму регистрации с api. Отправляю данные post запросом, но данные отправляются запросом options. Как я подозреваю, браузер в целях безопасности запрещает кросс-доменные запросы. Как мне быть в этой ситуации? Я должна еще что-то настроить в angular или это проблема на сервере? Это пример файла http.service.ts
export class HttpAddUserService { constructor(private http: Http) { } postData(obj: AddUser) { const body = JSON.stringify(obj); let headers = new Headers({ 'Content-Type': 'application/json' }); return this.http.post('http://..../api/adduser', body, { headers: headers }) .map((resp:Response)=>resp.json()) .catch((error:any) =>{return Observable.throw(error);}); } } |
Добавьте заголовок Access-Control-Allow-Origin (от сервера).
https://developer.mozilla.org/en-US/...s_control_CORS |
спасибо за совет,
не имею доступа к серверной стороне |
Если вы не хакир и не собираетесь взламывать интернет, то у вас только два пути:
1) Добавьте все таки нужный заголовок от сервера 2) Использовать только "простые" запросы. Вот информация о простых запросах: https://www.w3.org/TR/cors/#simple-method https://www.w3.org/TR/cors/#simple-header |
Спасибо за советы. Просто серверная часть на одном домене, делал один человек, а я делаю фронт на своём личном хостинге. Поняла что это так и должно происходить.
Когда файлы будут на одном домене надеюсь таких проблем не будет! Спасибо ещё раз |
Для разработки можно воспользоваться плагинами типа cors toggle(для хрома) и cross domain - cors (для фокса). Может еще какие-то есть.
|
Цитата:
|
Часовой пояс GMT +3, время: 07:39. |