Angular 4代码未命中ASP.Net Web Api控制器
我正在做一个项目,我必须做一个表格。我可以准确地从数据库中获取所有需要的数据,在对其进行更改后,我必须将其保存在数据库中。代码在前端正常工作,但未命中Asp.NETWebAPI中所需的控制器和方法。这里也没有显示错误。请让我知道我必须做什么。我缺少什么。我真的很担心 这是我的Api路径,我必须点击它Angular 4代码未命中ASP.Net Web Api控制器,angular,asp.net-web-api,asp.net-web-api2,Angular,Asp.net Web Api,Asp.net Web Api2,我正在做一个项目,我必须做一个表格。我可以准确地从数据库中获取所有需要的数据,在对其进行更改后,我必须将其保存在数据库中。代码在前端正常工作,但未命中Asp.NETWebAPI中所需的控制器和方法。这里也没有显示错误。请让我知道我必须做什么。我缺少什么。我真的很担心 这是我的Api路径,我必须点击它 getlandingGatepassvalueByparameter(itemOrder:any){ let url="http://localhost:50366
getlandingGatepassvalueByparameter(itemOrder:any){
let url="http://localhost:50366/api/CustomerOrder/SaveOrder"
return this._restService.Post(url,itemOrder);
}
下面是我的帖子中的一个方法
Post(url: string, data: any): Observable<any[]> {debugger;
let headers = new Headers({
'Content-Type': 'application/json',
'Authorization': 'Bearer '
});
let options = new RequestOptions({ headers: headers });
return this._http.post(url, data,options)
.map((response) => {
debugger;
return response.json();
})
.catch(e => {
debugger;
return Observable.throw(e);
});
}
}
Post(url:string,data:any):可观察
1)在控制器方法中添加[FromBody]:
public IHttpActionResult SaveOrder([FromBody] List<ItemOrder> itemOrder)
3) 确保在api应用程序中正确配置了路由。1)在控制器方法中添加[FromBody]:
public IHttpActionResult SaveOrder([FromBody] List<ItemOrder> itemOrder)
3) 确保在api应用程序中正确配置了路由。尝试重新格式化请求对象。现在它是一个数组。尝试将其设置为包含数组类型属性的对象
控制器动作签名
public IHttpActionResult SaveOrder([FromBody] LargeOrder itemOrder)
{}
public class LargeOrder
{
public List<ItemOrder> itemOrders {get; set;}
}
尝试重新格式化请求对象。现在它是一个数组。尝试将其设置为包含数组类型属性的对象
控制器动作签名
public IHttpActionResult SaveOrder([FromBody] LargeOrder itemOrder)
{}
public class LargeOrder
{
public List<ItemOrder> itemOrders {get; set;}
}
您现有的代码应该可以工作,但是您需要通过一步一步地尝试来发现错误
您可以尝试使用承诺
:
因此,您的post方法如下所示:
Post(url: string, data: any): Promise <any> {
let headers = new Headers({
'Content-Type': 'application/json'
});
return this._http.post(url, JSON.stringify(data), { headers: headers })
.toPromise()
.catch(this.handleError);
}
// to handle the error
private handleError(error: any): Promise<any> {
return Promise.reject(error.message || error);
}
Post(url:string,data:any):承诺{
让标题=新标题({
“内容类型”:“应用程序/json”
});
返回此信息。http.post(url,JSON.stringify(数据),{headers:headers})
.toPromise()
.接住(这个.把手错误);
}
//处理错误
私有句柄错误(错误:任意):承诺{
返回承诺。拒绝(error.message | | error);
}
您现有的代码应该可以工作,但您需要通过逐步尝试来了解错误所在
您可以尝试使用承诺
:
因此,您的post方法如下所示:
Post(url: string, data: any): Promise <any> {
let headers = new Headers({
'Content-Type': 'application/json'
});
return this._http.post(url, JSON.stringify(data), { headers: headers })
.toPromise()
.catch(this.handleError);
}
// to handle the error
private handleError(error: any): Promise<any> {
return Promise.reject(error.message || error);
}
Post(url:string,data:any):承诺{
让标题=新标题({
“内容类型”:“应用程序/json”
});
返回此信息。http.post(url,JSON.stringify(数据),{headers:headers})
.toPromise()
.接住(这个.把手错误);
}
//处理错误
私有句柄错误(错误:任意):承诺{
返回承诺。拒绝(error.message | | error);
}
Try:public IHttpActionResult保存顺序([FromBody()]List itemOrder)
错误与图像有关!你在哪里用过吗?我现在用的是同样的结果我只是在前端用了图像它和服务器端没有连接。我用了你建议的“为什么”,但也用了同样的方法。仍然没有错误,并且没有按您建议的方法点击controllerDone尝试:public IHttpActionResult SaveOrder([FromBody()]List itemOrder)
并且错误与图像有关!你在哪里用过吗?我现在用的是同样的结果我只是在前端用了图像它和服务器端没有连接。我用了你建议的“为什么”,但也用了同样的方法。仍然没有错误,并且没有按您建议的方法点击controllerDone。很抱歉,这是一个相同的输出时间浏览器切换问题,因此请尝试清除缓存并重新构建api和angular应用程序。很抱歉,这是一个相同的输出时间浏览器切换问题,因此请尝试清除缓存并重新构建api和angular应用程序。很抱歉在使用建议的方法后通知您相同的响应。很抱歉在使用建议的方法后通知您相同的响应。