2017-06-03 53 views
0

试图通过Angular http post方法来击中WEB API,但无法击中网页api和catch块也不会引发任何错误。我也启用了跨国策略。 当我在浏览器中粘贴web api url时,它会触发该方法,但不会通过角度http发布功能。无法打网络api。甚至无法获得错误

下面是代码组件代码

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

的[角2 HTTP GET得不到]可能的复制(https://stackoverflow.com/questions/ 41381200/angular-2-http-get-not-getting) – Alex

回答

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));////////////////////////// 
    
0

随着内容类型:应用程序/ JSON,你应该变换体数据JSON。

筛选器:JSON.stringify(数据)

+0

噢,是的,我已经在上面的步骤中做了这个操作,我没有在问题中粘贴... – user728630