Angular 2,http post不工作
问题描述:
我正在开发Angular 2 ASP.NET Core MVC项目。 我的客户端脚本调用服务器端控制器Angular 2,http post不工作
let headers = new Headers({ 'Content-Type': 'application/json' });
let options = new RequestOptions({ headers: headers });
var url = "MyController/MyAction/";
var t = this.http.post(url, JSON.stringify(formData), options);
MVC的服务器端控制器有下列行为
public IActionResult MyAction([FromBody] myViewModel viewModel)
它工作正常,客户端将派遣客户视图模型中,服务器正在接受这一观点模型和正确匹配它到服务器端模型
在某些时候我不得不附加jquery包与jquery.ui,它打破了美。
客户端仍在调用服务器,服务器正在接受Action中的呼叫。不幸的是,它停止正确地映射视图模型。该动作接收null而不是视图模型对象
有什么想法?
答
最后我想通这里我的问题......
客户端并不真正需要的任何JSON.stringify。 在它的顶部,我错过了实际触发客户端发送服务器请求的调用的订阅部分。
getMyServerSideData(form: MyForm) {
let headers = new Headers({ 'Content-Type': 'application/json' });
let options = new RequestOptions({ headers: headers });
var url = "Report/GetMyServerData/";
return this.http.post(url, form, options)
.map(response => {
return response.json() as MyForm;
})
.subscribe(data=>{
console.write(data);
});
}
加MVC 5服务器端的行动呼吁不需要[FromBody]标签中的参数
[HttpPost]
public ActionResult GetCOFData(MyFormServerSideViewModel viewModel)
{
...
...
...
viewModel.prop1 = "aaa",
viewModel.prop2 = "bbb"
return Json(response, JsonRequestBehavior.AllowGet);
}
首先前,在测试应用邮递员web服务,如果这样的作品,看看网络打电话,什么是错误?通常需要有域名//等等。 – TGarrett
你没有'JSON.stringify'试过吗? –
刚刚删除了JSON.stringify并将其复选。 它似乎通过适当的视图模型,直到其中一个属性(日期持有者)得到改变像“25/08/2017”,并且它似乎导致视图模型解析器崩溃? –