在带有webapi的angular中没有http ok状态错误
我试图将表单数据从angular传递到webapi,我的webapi通过使用postman工作得很好,而通过angular传递时,我得到下面的屏幕截图错误供参考。请查看我的代码,并建议我进行任何修改。 我在google中搜索解决方案,并在angular中添加了proxy.conf.json。据我所知,我只是正确地添加了所有细节,如果我在任何地方做错了,请建议我。帮我做这个 My WebPAIConfig.cs代码:在带有webapi的angular中没有http ok状态错误,angular,cors,webapi,Angular,Cors,Webapi,我试图将表单数据从angular传递到webapi,我的webapi通过使用postman工作得很好,而通过angular传递时,我得到下面的屏幕截图错误供参考。请查看我的代码,并建议我进行任何修改。 我在google中搜索解决方案,并在angular中添加了proxy.conf.json。据我所知,我只是正确地添加了所有细节,如果我在任何地方做错了,请建议我。帮我做这个 My WebPAIConfig.cs代码: public static void Register(Http
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 }
);
}
webConfig.cs中的我的WebAPI Cors代码:
<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>
我的服务电话:
我也尝试了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'
// })
// });
}
您需要在WebApi上启用CORS
config.EnableCors();
有关详细说明,请参见。尝试将
选项添加到[AcceptVerbs(“POST”、“GET”)]
。使用选项方法发送。这是您的WebAPI问题,而不是角度问题。你在.net上使用什么版本?@StanisalvDontsov我的.net框架是4.6.1,我的api使用postman@MichaelD我已经加上headers@chaitanya:网络标签中的响应如何?@chaitanya您能发布代码吗?您是如何尝试的?我的webapiconfig.cs代码:config.EnableCors();//Web API配置和服务//Web API路由配置.maphttpAttribute路由();config.Routes.MapHttpRoute(名称:“DefaultApi”,routeTemplate:“api/{controller}/{id}”,默认值:new{id=RouteParameter.Optional});我在这个问题中也更新了代码,请尝试发送带有标题的选项
请求:来源:您的网站地址
<代码>访问控制请求方法:POST
<代码>访问控制请求标题:内容类型
由邮递员提供。你得到了什么?
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'
// })
// });
}
this._CLoAPiService.CLODetailsSave(this._CLODetails).subscribe(res => {
console.log(res);
})