У меня есть простой код для отправки запроса на мой локальный сервер. Как это:Angular2 проблемы с отправкой запроса на отправку
login(event, username, password) {
event.preventDefault();
let body = "grant_type=password&username=" + username + "&password=" + password;
this.http
.post(`${appSettings.API_ENDPOINT_DEV}Login`, body, {headers: contentHeaders})
.subscribe(
response => {
this.accessToken = response.json().access_token;
console.log(this.accessToken);
localStorage.setItem('access_token', this.accessToken);
},
error => {
alert(error.text());
console.log(error.text());
}
);
}
Но я ловлю следующее исключение в хромовой консоли разработчика Google.
XMLHttpRequest не может загрузить http://localhost:1216/api/Login. Ответ для предполетного имеет недопустимый HTTP код статуса 400
Помоги мне пожалуйста решить эту проблему, так как с угловым 1.x все хорошо работает. Вход с Google Chrome консоли:
Request URL:http://localhost:1216/api/Login
Request Method:OPTIONS
Status Code:400 Bad Request
Remote Address:[::1]:1216
Access-Control-Allow-Origin:*
Cache-Control:no-cache
Content-Length:34
Content-Type:application/json;charset=UTF-8
Date:Thu, 04 Aug 2016 11:43:21 GMT
Expires:-1
Pragma:no-cache
Server:Microsoft-IIS/10.0
X-Powered-By:ASP.NET
X-SourceFiles:=?UTF-8?B?RDpcU291cmNlc1xHcmFwcHNcVUtfQnJhbmRQcm90ZWN0aW9uXFdlYkFQSVxhcGlcTG9naW4=?=
UPD:
export const contentHeaders = new Headers();
contentHeaders.append('Content-Type', 'application/x-www-form-urlencoded');
contentHeaders.append('Access-Control-Allow-Origin', '*; *');
contentHeaders.append('Access-Control-Allow-Methods', 'POST');
UPD2 Вход с передовой REST клиент
Cache-Control: no-cache
Pragma: no-cache
Content-Type: application/json;charset=UTF-8
Expires: -1
Server: Microsoft-IIS/10.0
Access-Control-Allow-Origin: *; *
X-Sourcefiles: =?UTF-8?B?RDpcU291cmNlc1xHcmFwcHNcVUtfQnJhbmRQcm90ZWN0aW9uXFdlYkFQSVxhcGlcTG9naW4=?=
X-Powered-By: ASP.NET
Access-Control-Allow-Headers: Content-Type
Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS
Date: Thu, 04 Aug 2016 11:59:19 GMT
Content-Length: 316
Вам необходимо правильно настроить свой сервер http://stackoverflow.com/questions/10143093/origin-is-not-allowed-by-access-control -allow-origin –
с угловым 1.x все хорошо работает. Плз снова прочитал мои вопросы. –
Как определяется 'contentHeaders'? – kiswa