无法点击网络API。甚至无法得到错误

时间:2017-06-03 03:24:55

标签: angular asp.net-web-api

尝试通过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
        {
        }
    }
}

2 个答案:

答案 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)