Knockout AJAX 发送到 C# 控制器的数据为空

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

我正在尝试将颜色列表(ID 号)发布到控制器中的测试函数。我知道数据正在发送并且看起来格式正确。

当我发送数据时,小提琴手显示:

[{"ID":"15","Duration":"Permanent","bNotPermanent":"1"},   
{"ID":"21","Duration":"Permanent","bNotPermanent":"1"}]

淘汰 AJAX 帖子:

        SendData = ko.toJSON(self.AddColors) ;
        alert(SendData);

        $.ajax({
            ContentType: 'application/json; charset=utf-8',
            dataType: "json",
            type: "POST",
            url: '/EditColor/PostColors',
            data: SendData
        }).success(function (data) {

        });

我正在使用的数据类:

public class AjaxColorList
{
    public string ID { get; set; }
    public string Duration { get; set; }
    public string bNotPermanent { get; set; }
}

控制器功能: (我还尝试了 public JsonResult PostColors(String AddColors 只是为了看看是否有任何结果)

    public JsonResult PostColors(List<Helpers.AjaxColorList> AddColors)
    {
        var ColorList = AddColors;  // breakpoint set here
        ....
    }

在上面函数的断点处,我看到 AddColors 为空。 我确保 JSON 查询中的字段与数据类中的字段匹配。 我错过了什么?

我还更改了代码,以便它仅将一个对象传递给控制器以验证它是否可以接收某些东西......任何东西。

添加的控制器功能如下所示:

    public JsonResult RequestAddColor(Helpers.AjaxColor AddColor)
    {
        var color = AddColor; // breakpoint here


         ...
    }

Fiddler 显示了这个:

{"ID":"11","Duration":"Permanent","bNotPermanent":"false"}

但是控制器将所有变量显示为空。

这一定是我错过的一些愚蠢/简单的事情。 谁能看出我的逻辑错误吗?

c# asp.net-mvc-4 knockout.js asp.net-ajax
2个回答
2
投票

尝试使用这种格式进行 ajax 调用,我重新创建了该场景,这对我有用:

          $.ajax({
                url: '/Home/PostColors',
                contentType: "application/json",
                async: true,
                type: "POST",
                data: JSON.stringify(sendData),
                error: function (jqXHR, textStatus, errorThrown) {
                    console.log("FAIL: " + errorThrown);
                },
                success: function (data, textStatus, jqXHR) {
                    console.log("SUCCES");
                }
            });

-2
投票

无论您是在寻找参加高级活动的精致伴侣,还是想带您参观德里夜生活场景中所有隐藏的瑰宝,这些专业人士都能满足您的需求。 [https://www.modelescortsindelhi.com/saket-call-girls-bipasha.html][Saket 伴游服务]

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