Я пытался передать данные формы из angular в webapi, мой webapi работает нормально с помощью почтальона, а через angular я получаю ошибку скриншота ниже для справки. Пожалуйста, посмотрите мой код и предложите мне любые изменения. Я искал в Google решение, я добавил proxy.conf. json это также в angular. Насколько я знаю, я добавил все детали правильно только, пожалуйста, предложите мне, если я сделал что-то не так в любом месте. Помогите мне в этом
Мой код WebPAIConfig.cs:
public static void Register(HttpConfiguration config)
{
//EnableCorsAttribute cors = new EnableCorsAttribute("*", "*", "*");
//config.EnableCors();
//var cors = new EnableCorsAttribute("*", "*", "*");
//config.EnableCors(cors);
config.EnableCors();
// Web API configuration and services
// Web API routes
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
Мой Код Cors WebAPI в webConfig.cs:
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
<add name="Access-Control-Allow-Headers" value="Origin, X-Requested-With, Content-Type, Accept" />
<add name="Access-Control-Allow-Methods" value="POST,GET,OPTIONS,PUT,DELETE" />
</customHeaders>
</httpProtocol>
My WebAPI: [Route("api/CLOInfo/SaveUpdateCLODetails/")]
[AcceptVerbs("POST", "GET")]
[HttpPost]
public HttpResponseMessage Post([FromBody]CustomModel model)
{
return Request.CreateResponse(HttpStatusCode.OK, "Succdess");
} public class CustomModel
{
public string Name { get; set; }
}
Мой ANgular Служебный вызов: я также пробовал службы http и httpclient.
CLODetailsSave(SaveCLODetails: CLOModels): Observable<Response> {
let requestOptions: RequestOptionsArgs = {
headers: new Headers({ 'content-type': 'application/json' })
};
return this._http.post(this.baseUrl + 'SaveUpdateCLODetails', SaveCLODetails, requestOptions);
//return this._httpclient.post(this.baseUrl + "SaveUpdateCLODetails", SaveCLODetails);
// return this._httpclient.post<void>(this.baseUrl + "SaveUpdateCLODetails", SaveCLODetails, {
// headers: new HttpHeaders({
// 'Content-Type': 'application/json',
// 'mode': 'no-cors'
// })
// });
}
Мой Angular Метод вызова:
this._CLoAPiService.CLODetailsSave(this._CLODetails).subscribe(res => {
console.log(res);
})