установить тип заголовка application / x-www-form-urlencoded
ю, что это проблема CORS. Я включил Cors на стороне веб-сервера API. Метод Get работает нормально, но при работе с методом post я сталкиваюсь с проблемой. Пожалуйста, кто-нибудь ответит мне очень простым примером, как на веб-API, так и на стороне клиента. С объяснением того, как бороться с предполетным полетом, опциями и т.
Приставка
1) zone.js: 2935 ВАРИАНТЫHTTP: // локальный: 49975 / API / Add_Client_ / postgoals 404 Не Найдено)
2) Не удалось загрузитьHTTP: // локальный: 49975 / API / Add_Client_ / postgoals: Ответ на предпечатную проверку имеет недопустимый код состояния HTTP 404.
web.config
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*"/>
<add name="Access-Control-Allow-Headers" value="Origin, Content-Type, X-Auth-Token"/>
<add name="Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE, OPTIONS" />
<add name="Content-Type" value="application/json"/>
<add name="Access-Control-Allow-Credentials" value="true" />
</customHeaders>
</httpProtocol>
Угловой пост метод
save_Goals(){
let headers : Headers= new Headers();
//headers.append('Content-Type','application/x-www-form-urlencoded');
//headers.append("Access-Control-Allow-Origin","true");
headers.append('Content-Type', 'application/json');
headers.append('Access-Control-Allow-Origin','*');
headers.append('Access-Control-Allow-Methods','GET,PUT,POST,DELETE');
headers.append('Access-Control-Allow-Headers','Content-Type');
let options = new RequestOptions({ headers: headers });
return this._http.post('http://localhost:49975/api/Add_Client_/postgoals', {goal:'foo'},options)
.map(res => res.json());
}
Спасибо!