【问题标题】:Trying to send multiple parameters to ASP.NET webAPI post method results server error 500尝试向 ASP.NET webAPI post 方法发送多个参数导致服务器错误 500
【发布时间】:2016-12-13 01:40:00
【问题描述】:

我试图将具有复杂数据类型的多个参数发送到 WebAPI 中的 POST 方法,但它失败并出现 500 服务器错误。如果有人帮我找到丢失的东西,我会很感激?

阿贾克斯:

var x={}
var y={}
    $.ajax({
             cache: false,
             type: "POST",
             data: JSON.stringify({xDto:x,yDto:y}),
             url: "/api/Info/PostInfo",
             dataType: 'json',
             contentType: "application/json;charset=utf-8",
             success: function(data) {
             }
             error: function(data) {
                alert(JSON.stringify(data));
            }
})

行动:

 public IHttpActionResult PostInfo(InfoDto xDto,InfoDto yDto)
        {
             //post xDto and yDto to db
         }

【问题讨论】:

  • 你不传递两个对象,你也不能。您只需传递一个具有两个属性 xDtoyDto 的对象。

标签: ajax asp.net-web-api http-post


【解决方案1】:

我会将 API 参数更改为 InfoDto 数组并从正文中检索它:

public IHttpActionResult PostInfo([FromBody]InfoDto[] xDtos)
{

}

您还必须将您的 JavaScript 更改为以下内容:

data: JSON.stringify([x, y])

【讨论】:

    猜你喜欢
    • 2010-11-23
    • 1970-01-01
    • 1970-01-01
    • 2019-01-03
    • 2022-11-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多