javascript – 在通过ajax调用传递给mvc控制器时获取列表中的空值

前端之家收集整理的这篇文章主要介绍了javascript – 在通过ajax调用传递给mvc控制器时获取列表中的空值前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我将我的列表传递给mvc控制器,但我在控制器中获取空值.但是当我在客户端显示警报时,我的列表中有值.

ajax电话

$("#addTiles").click(function() {
    userTiles = JSON.stringify({
        'userTiles': userTiles
    });
    alert("Entered function.");
    alert(userTiles[0].TileID);
    var url = '@Url.Action("AddTiles")';
    $.ajax({
        type: "GET",url: url,data: userTiles,success: function(d) {
            if (d.indexOf('"IsSessionExpired":true') != -1) {
                location.reload();
            } else {
                onAddTilesSuccessful(d);
            }
        },error: function() {
            errorInOperation();
        },contentType: "application/html; charset=utf-8",dataType: 'html'
    });
});

function onAddTilesSuccessful(e) {
    $("#tilesSubmissionMsg").append(e);
}

function errorInOperation(d) {
    $("#tilesSubmissionMsg").append("Something went wrong");
}

mvc控制器

public ActionResult AddTiles(List<UserTilesVM> userTiles)
    {
        return View();
    }

列表模型

public class UserTilesVM
{
    public int TileID { get; set; }
    public int TopPosition { get; set; }
    public int LeftPosition { get; set; }
}

在javascript中列出

"{"userTiles":[{"TileID":"3","TopPosition":0,"LeftPosition":0}]}"

我也尝试过用stringfy发送我的列表,但这也行不通.

解决方法

在AddTiles方法上使用:[HttpGet],因为你在Ajax命中使用了类型:“GET”.
[HttpGet]
public ActionResult AddTiles(List<UserTilesVM> userTiles)
{
     return View();
}

如果仍然不起作用,那么尝试键入:Ajax命中的“POST”和方法使用[HttpPost]

[HttpPost]
public ActionResult AddTiles(List<UserTilesVM> userTiles)
{
    return View();
}

猜你在找的Ajax相关文章