尝试通过Angular http post方法点击WEB API但无法点击web api和catch块也没有抛出任何错误。我也启用了跨源策略。 当我在浏览器中粘贴web api url然后它命中方法但不通过角度http post函数。
以下是代码组件代码
let headers = new Headers({ 'Content-Type': 'application/json' });
let options = new RequestOptions({ headers: headers });
this._http.post(this._commonUrl, filter, options)
.map(response => response.json())
.catch(this.handleError);
private handleError(error: Response) {
console.error(error);
return Observable.throw(error.json().error || 'Server error');
}
控制器代码
[RoutePrefix("api/common")]
public class ProductController : ApiController
{
public ProductController()
{
}
[Route("initialize")]
[HttpPost]
public HttpResponseMessage SearchLazada(Filter filter)
{
try
{
}
}
}
答案 0 :(得分:1)
您的帖子请求甚至不会被提出。查看网络电话。
您需要订阅它。
this._http.post(this._commonUrl, filter, options)
.map(response => response.json())
.catch(this.handleError)
.subscribe(data =>console.log(data));
您可以使用错误回调来访问错误
this._http.post(this._commonUrl, filter, options)
.map(response => response.json())
.catch(this.handleError)
.subscribe(data =>console.log(data),
(error)=>console.log(error));//////////////////////////
答案 1 :(得分:0)
使用Content-Type:application / json,您应该将body数据转换为json。
filter:JSON.stringify(data)