How to send js variables to mvc controller
我正在尝试得出-ramiramilu提供的代码作为上述问题的答案。
但是,似乎控制器中的输出仍然为0。
模型和视图与答案所建议的相同。 但是,由于我在MVC中使用点网核心,因此控制器端的代码看起来像-
控制器代码-
[Route("api/[controller]")]
[ApiController]
public class PieController : Controller
{
[HttpGet]
public IActionResult Index()
{
return View();
}
public ViewResult GetChartDetails(PieConcs piecord)
{
return null;
}
}
JavaScript代码-
函数sendJson(){
var model = new Object();
model.x1 = 120;
model.y1 = 240;
model.x2 = 360;
model.y2 = 480;
alert('here');
jQuery.ajax({
type: "POST",
url: "@Url.Action("GetChartDetails")",
dataType: "json",
contentType: "application/json; charset=utf-8",
data: JSON.stringify({ piecord: model }),
success: function (data) {
alert(data);
},
failure: function (errMsg) {
alert(errMsg);
}
});
}
模型类-
public class PieConcs
{
public int x1 { get; set; }
public int x2 { get; set; }
public int y1 { get; set; }
public int y2 { get; set; }
}
用于查看的代码写在Index.cshtml文件中。 我是MVC的新手,所以如果需要更多详细信息以改善问题,请告诉我。
答案 0 :(得分:0)
在您的JavaScript中执行以下操作:
let dataToSend = {
objectProp1: ...,
objectProp2: ...,
...
}
fetch('Pie/GetCharDetails', {
method: 'POST',
headers: {
"Content-Type": "application/json"
},
body: JSON.stringify(dataToSend)
}).then(response => response.json());
请记住,对象道具的名称必须与PieConcs道具的名称相同。