Добрый день, у меня есть приложение, которое стоит на локальном сервере на localhost:3000.
Есть сервер, тоже на локалке с адресом localhost:6060/api , я пытаюсь отправлять и post и get запросы с помощью ангуляра так:
let headers = new Headers();
headers.append('Content-Type', 'application/json');
headers.append("Access-Control-Allow-Origin", "*");
headers.append("Access-Control-Allow-Methods", "GET, POST, OPTIONS, PUT, PATCH, DELETE");
headers.append("Access-Control-Allow-Headers", "X-Requested-With,content-type");
this.http.get('http://localhost:6060/api/v1/userinfo', {
headers: headers
})
.subscribe(
data => {
alert(data.json());
},
err => this.alertSome(err.json().message),
() => console.log('Authentication Complete')
);
на сервере принимаю так:
func GetUserInfo(w http.ResponseWriter, r *http.Request) {
w.Header().Set("Content-Type", "application/json; charset=UTF-8")
w.Header().Set("Access-Control-Allow-Origin", "*")
w.Header().Set("Access-Control-Allow-Methods", "GET, POST, OPTIONS, PUT, PATCH, DELETE")
w.Header().Set("Access-Control-Allow-Headers", "X-Requested-With,content-type")
То есть заголовки все проставляю, но в браузере вижу ошибку при отправке:
[Error] Failed to load resource: Origin http://localhost:3000 is not allowed by Access-Control-Allow-Origin. (playlist.json, line 0)
[Error] XMLHttpRequest cannot load http://localhost:6060/api/v1/auth. Origin http://localhost:3000 is not allowed by Access-Control-Allow-Origin.
Что я сделал не так? Что я упустил? Я думал что дело в серваке, но я пробовал отправлять на публичные сервера с апи и получаю ту же ошибку, получается что дело в angular2 но я не могу понять что именно не так сделал. Спасибо.