Связка 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, время: 09:25. |