.net core ASP.NET核心API POST参数在JSON.stringify中发送始终为空(我不想为参数创建或绑定模型)

.net core ASP.NET核心API POST参数在JSON.stringify中发送始终为空(我不想为参数创建或绑定模型),.net-core,asp.net-core-webapi,.net Core,Asp.net Core Webapi,这个问题似乎是这个链接的复制品,但我已经尝试了这个问题的所有选项 我的axios呼叫 核心控制器 我不知道为什么您不想使用模型绑定,它可以帮助您轻松地接受服务器端的值。但是,如果您想获取原始数据,然后手动反序列化,一种方法是对请求进行一些自定义处理。正文: JS: 服务器端: [HttpPost] public async Task<IActionResult> Test() { using (StreamReader reader = new StreamReader(Re

这个问题似乎是这个链接的复制品,但我已经尝试了这个问题的所有选项

我的axios呼叫

核心控制器


我不知道为什么您不想使用模型绑定,它可以帮助您轻松地接受服务器端的值。但是,如果您想获取原始数据,然后手动反序列化,一种方法是对请求进行一些自定义处理。正文:

JS:

服务器端:

[HttpPost]
public async Task<IActionResult> Test()
{
    using (StreamReader reader = new StreamReader(Request.Body, Encoding.UTF8))
    {
        var result  =  await reader.ReadToEndAsync();
    }
    .....
}

但是我总是建议改用模型绑定。

您请求的格式有错误

你可以试试这个

   return axios.get(url, {
          params: data,
          headers: {'yl-authorization': this.token}//设置header信息
        }).then((res) => {
        })

您可以使用Formdata对象:

let finalData = JSON.stringify(data);
var formData = new FormData();    
fd.append( 'data',  finalData);

$.ajax({
  url: 'url',
  data: formData,
  processData: false,
  contentType: false,
  type: 'POST',
  success: function(data){
    //TODO: use reponse from API
  }
});
希望这对你有所帮助

[HttpPost]
public async Task<IActionResult> Test()
{
    using (StreamReader reader = new StreamReader(Request.Body, Encoding.UTF8))
    {
        var result  =  await reader.ReadToEndAsync();
    }
    .....
}
   return axios.get(url, {
          params: data,
          headers: {'yl-authorization': this.token}//设置header信息
        }).then((res) => {
        })
let finalData = JSON.stringify(data);
var formData = new FormData();    
fd.append( 'data',  finalData);

$.ajax({
  url: 'url',
  data: formData,
  processData: false,
  contentType: false,
  type: 'POST',
  success: function(data){
    //TODO: use reponse from API
  }
});