создать Contactformular, мой моделируемой сервер работает, но в угловом 2, есть мой Create-функция:Угловое 2 - POST не установлен Content-Type для приложения/JSON (его текст/простой)
createPatient(Name: string, Nachname: string, Geburtsdatum: string, Strasse: string, Hausnummer: string, Postleitzahl: string, Wohnort: string): Observable<boolean> {
let patient = {
Id: 0,
Name: Name,
Nachname: Nachname,
Geburtsdatum: Geburtsdatum,
Strasse: Strasse,
Hausnummer: Hausnummer,
Postleitzahl: Postleitzahl,
Wohnort: Wohnort
};
let body = JSON.stringify(patient);
let headers = new Headers({ 'Content-Type': 'application/json' });
let options = new RequestOptions({ headers: headers });
return this.http.post(this.patientenUrl + "CreatePatient", body, options)
.map((r: Response) => {
console.log(r);
return <boolean>r.json();
});
Тело не связано с Url, поэтому мой «сервер» не работает. Где я терпеть неудачу?
я всегда получаю:
OPTIONS http://localhost:9177/api/v1/CreatePatient XMLHttpRequest cannot load http://localhost:9177/api/v1/CreatePatient. Response for preflight has invalid HTTP status code 415 EXCEPTION: Response with status: 0 for URL: null Uncaught Response with status: 0 for URL: null
После некоторой помощи я получить это решение:
createPatient(Name: string, Nachname: string, Geburtsdatum: string, Strasse: string, Hausnummer: string, Postleitzahl: string, Wohnort: string): Observable { let patient = { Id: 0, Name: Name, Nachname: Nachname, Geburtsdatum: Geburtsdatum, Strasse: Strasse, Hausnummer: Hausnummer, Postleitzahl: Postleitzahl, Wohnort: Wohnort }; let body = JSON.stringify(patient); let headers = new Headers({ 'content-type': 'application/json', 'accept': 'application/json'}); let options = new RequestOptions({ headers: headers }); return this.http.post(this.patientenUrl + "CreatePatient", body, headers) .map((r: Response) => { console.log(r); return r.json(); });
и теперь я получаю мое тело, но Content-Type является 'текст/обычный' так Теперь я всегда получаю:
POST http://localhost:9117/api/v1/CreatePatient 415 (Unsupported Media Type) EXCEPTION: Response with status: 415 Unsupported Media Type for URL: http://localhost:9117/api/v1/CreatePatient Uncaught Response with status: 415 Unsupported Media Type for URL: http://localhost:9117/api/v1/CreatePatient
My Controller-функции для создания:
[Route("[action]")] [HttpPost] public JsonResult CreatePatient([FromBody]Patient patient) { this.ResStatus.Status = false; var pat = patient; var ida = GetId(); //Prüfung ob Customer Leer oder Null pat.Id = (int)ida; patientRepository.Insert(pat); this.ResStatus.Status = true; return Json(this.ResStatus.Status); }
Я решить проблему: я изменить Wwwroot из ASP.NET Ядра в угловой 2 проекта и включаю в себя ссылку из index.html, что я могу обновить без проблем.
что вы имеете в виду, что тело не связано с URL? Тело - тело запроса HTTP. Проверьте его с помощью своего браузера devtool. Проблема может быть на вашем сервере. – JEY
Я проверяю сервер, но есть все okey, мое тело не существует в обратном, я имею в виду, если я отправлю post_request i debug в google chrome и там у меня нет тела. –