Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/266.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Angular 2 HTTP post Web API 2始终接收空值_C#_Angular_Asp.net Web Api - Fatal编程技术网

C# Angular 2 HTTP post Web API 2始终接收空值

C# Angular 2 HTTP post Web API 2始终接收空值,c#,angular,asp.net-web-api,C#,Angular,Asp.net Web Api,user.service.ts user.component.ts Web API 当我调用方法Insert时,数据总是以null或零的形式到达, 我必须更改{'Content Type':'application/x-www-form-urlencoded;charset=UTF-8','Accept':'application/json'}的{'Accept':'application/json'}行,因为它给了我405个错误 提前感谢大家将输入值更改为user,传递的数据名称和接受的参数必

user.service.ts

user.component.ts

Web API

当我调用方法Insert时,数据总是以null或零的形式到达, 我必须更改{'Content Type':'application/x-www-form-urlencoded;charset=UTF-8','Accept':'application/json'}的{'Accept':'application/json'}行,因为它给了我405个错误


提前感谢大家

将输入值更改为user,传递的数据名称和接受的参数必须具有相同的名称。在postUser中,您以用户身份获取数据的名称。在API中也要这样做

问题在于:

return this.http.post(myGlobal.myUrl + 'user/insert' 
     , JSON.stringify(user)
     , {headers: headers});
将其更改为:

return this.http.post(myGlobal.myUrl + 'user/insert' 
     , JSON.stringify(user)
     , {headers: headers})
   .map(    (response: Response) =>response.json())
   .catch(this._errorHandler);
错误处理程序:

_errorHandler(error:Response){
  console.log(error);
  return Observable.throw(error || "Internal server error");
}
您将需要一些导入:

  import { Http, Response } from '@angular/http';
  import { Observable } from 'rxjs/Observable';
  import 'rxjs/add/operator/map';
  import 'rxjs/add/operator/catch';
  import 'rxjs/add/observable/throw';

我想这个问题可能会有帮助,但不太确定,因为内容类型似乎是我猜的问题谢谢你的回答,我尝试了代码,但现在所有数据都到达null firstName:null,country:0。还提供了以下错误SyntaxError:Object.parse处JSON输入的意外结束您给出了答案,这意味着您的JSON格式不正确
return this.http.post(myGlobal.myUrl + 'user/insert' 
     , JSON.stringify(user)
     , {headers: headers});
return this.http.post(myGlobal.myUrl + 'user/insert' 
     , JSON.stringify(user)
     , {headers: headers})
   .map(    (response: Response) =>response.json())
   .catch(this._errorHandler);
_errorHandler(error:Response){
  console.log(error);
  return Observable.throw(error || "Internal server error");
}
  import { Http, Response } from '@angular/http';
  import { Observable } from 'rxjs/Observable';
  import 'rxjs/add/operator/map';
  import 'rxjs/add/operator/catch';
  import 'rxjs/add/observable/throw';