gpt4 book ai didi

javascript - ASP.NET mcv : How to send javascript array to c# controller

转载 作者:行者123 更新时间:2023-12-03 01:45:12 29 4
gpt4 key购买 nike

我有这个 javascript 数组:

formatData = {
title: title,
start: startFormat,
end: endFormat
};

我想将 formatData 发送到 C# Controller 的方法(并将其作为数组接收以发布到数据库):

//HomeController.cs
public ActionResult setReservation()
{
Database db = new Database();
db.setReservations(reservation);
return View();
}

我尝试使用以下 AJAX 代码发送 javascript 数组:

$.ajax({
url: '/Controller/HomeController',
type: 'POST',
contentType: 'application/json',
data: JSON.stringify({
formatData: formatData
}),

});

没有成功。浏览器“网络”选项卡显示 404。我做错了什么?如何从服务器端 c# Controller 中的客户端 javascript 捕获数组作为类似 C# 数组的形式?如何将 AJAX 帖子附加到 c# Controller 中的 setReservation 方法?

提前非常感谢。

编辑:formatData 应传递给 Controller ​​(HomeController.cs)。在 Controller 中,formData(title, start, end)中的数据必须传递给另一个类(Database)的对象(db)的方法(setReservations),其中数据将被注入(inject)到sql查询字符串中。

最佳答案

首先,您的 AJAX 方法中的 URL 是错误的。尝试这样的事情:

$.ajax({
url: '/Home/SetReservation',
type: 'POST',
contentType: 'application/json',
data: JSON.stringify({
formatData: formatData
}),

});

然后,在 Controller 中,您需要将该列表作为要使用的操作的参数。另外,将操作标记为 [HttpPost]:

[HttpPost]
public ActionResult SetReservation([FromBody]Reservation reservation)
{
Database db = new Database();
db.setReservation(reservation);
return View(); // you might want to redirect to another view instead
}

关于javascript - ASP.NET mcv : How to send javascript array to c# controller,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50670450/

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