gpt4 book ai didi

javascript - 通过ajax调用传递给mvc Controller 时在列表中获取空值

转载 作者:数据小太阳 更新时间:2023-10-29 05:01:06 25 4
gpt4 key购买 nike

我正在将我的列表传递给一个 mvc Controller ,但我在 Controller 中得到的是空值。但是当在客户端显示为警报时,我的列表有值。

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 Controller

  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 命中上使用 type: "GET" 一样。

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

如果 Still 不起作用,则在 Ajax 命中时尝试 type: "POST" 并在方法上使用 [HttpPost]

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

关于javascript - 通过ajax调用传递给mvc Controller 时在列表中获取空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31176487/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com