【问题标题】:Post array to web api using IHttpActionResult not working in VB使用 IHttpActionResult 将数组发布到 web api 在 VB 中不起作用
【发布时间】:2018-01-01 02:52:29
【问题描述】:

我可以使用 ajax 和 IHttpActionResult 在 C#.net (VS2017) 中将数组发布到 web api。但是,在我将代码转换为 vb.net (VC2017) 后它不起作用。我只得到变量的 0 值。这是我的代码:

类:

Public Class Latlon
   Public Property latIn As Decimal
   Public Property lonIn As Decimal
End Class

API 控制器

<HttpPost>
Public Function Post(ByVal latlons As List(Of Latlon)) As IHttpActionResult
    Dim lat1 = latlons(0).latIn
    Return Content(HttpStatusCode.BadRequest, lat1)
End Function

ajax:

        var latlon = [
            { lat: 45, lon: -120 },
            { lat: 55, lon: -112 }
        ];
        alert(latlon)
        $.ajax({
            url: uri,
            method: "POST",
            data: { '': latlon } 
        }).done(function (result) {
            alert(result)
        }).fail(function (xhr) {
            alert(xhr.responseText);
        });

铬 F12

【问题讨论】:

    标签: arrays json vb.net post asp.net-web-api


    【解决方案1】:

    您的属性名称不匹配

        var latlon = [
            { lat: 45, lon: -120 },
            { lat: 55, lon: -112 }
        ];
    

    和VB中的类不一样

    Public Class Latlon
        Public Property latIn As Decimal
        Public Property lonIn As Decimal
    End Class
    

    尝试重命名 vb 类中的属性

    Public Class Latlon
        Public Property lat As Decimal
        Public Property lon As Decimal
    End Class
    

    【讨论】:

    • 非常感谢,肯!你为我节省了很多时间。转换后,我更改了变量名称,这导致了问题。我没有意识到。新年快乐!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-03-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-05
    • 1970-01-01
    • 2018-05-03
    • 2015-11-17
    相关资源
    最近更新 更多