无法从角度5向.net核心的操作方法提交数据

问题描述 投票:0回答:1

我正在尝试将数据从角度5组件发布到.net核心的操作方法。我可以点击action方法,但是值是null。按照下面的示例,在Sush操作方法中,Usr.FirstName为null。

模型-

namespace VModels
{
    public class UserVM
    {
        public long UserId { get; set; }
        public string FirstName { get; set; }
    }
}

。net core的操作方法-

[HttpPost]
public IActionResult Sush(UserVM Usr)        
{
    UserVM objOutput = new UserVM();
    CommonGetPostMethod<UserVM, UserVM> objCommonMthd = new CommonGetPostMethod<UserVM, UserVM>();
    UserVM objvm = new UserVM();
    objvm.FirstName = "Susheel " + DateTime.Now.Ticks.ToString();
    objCommonMthd.SaveData(Usr, "https://localhost:44303/api/UserAPI", ref objOutput);            
    return View(Usr);
}

角度5-的发布方法

SaveUser(userofrm: NgForm) {    
    var model = userofrm.value;
    var values = JSON.stringify(model);       
    this.hpclient.post<UserVM>("https://localhost:44321/User/Users/Sush", values).subscribe(success => { }, fail => { });    
}
c# .net asp.net-core angular5
1个回答
0
投票

根据您提供的代码,我用以下简单示例进行了测试,该示例对我而言很有效,您可以参考它。

// make request with testing data

var model = {'FirstName':'Test'};
var values = JSON.stringify(model); 
console.log(values);      
this.hpclient.post<UserVM>("https://localhost:44305/api/data/Sush", values, httpOptions).subscribe(success => { console.log(success);}, fail => { }); 

为请求定义和配置标题

import { HttpClient, HttpHeaders  } from '@angular/common/http';

const httpOptions = {
  headers: new HttpHeaders({
    'Content-Type':  'application/json'
  })
};

API控制器操作

[HttpPost("Sush")]
public IActionResult Sush(UserVM Usr)
{
    Usr.UserId = 100;
    return Ok(Usr);
}

测试结果

enter image description here

要解决此问题,您可以尝试使用邮递员等工具的相同数据进行请求,并检查是否可以在操作方法中获得预期的数据。或使用测试数据(像我一样)而不是userofrm中的值进行请求,然后检查它是否对您有用。

© www.soinside.com 2019 - 2024. All rights reserved.