javascript - 我想通过 post 将对象列表从 javascript 发送到控制器方法
问题描述
我想将对象列表发送到控制器方法,但控制器中的集合为空。我收到 500 内部服务器错误。我检查了 xhr 网络,我的请求负载是:{,...}
collection: [{categoryID: 1, pageID: 1, positionX: 1, positionY: 1, dimensionX: 3, dimensionY: 3},...] 0: {categoryID: 1, pageID: 1, positionX: 1, positionY: 1,维度X: 3, 维度Y: 3} 1: {categoryID: 1, pageID: 3, positionX: 1, positionY: 3, dimensionX: 3, dimensionY: 7} 2: {categoryID: 1, pageID: 5, positionX: 1, positionY: 7, dimensionX: 2, dimensionY: 9} 3: {categoryID: 1, pageID: 6, positionX: 2, positionY: 7, dimensionX: 3, dimensionY: 9} 4: {categoryID: 1, pageID: 7, positionX: 3, positionY: 1, dimensionX: 5, dimensionY: 3} 5: {categoryID: 1, pageID: 8, positionX: 3, positionY: 3, dimensionX: 5, dimensionY: 5} 6: {categoryID: 1, pageID: 9, positionX: 3, positionY: 5, dimensionX: 5, dimensionY: 7} 7: {categoryID: 1, pageID: 10, positionX: 3, positionY: 7, dimensionX: 4, dimensionY: 9} 8: {类别ID:1,页面ID:11,位置X:4,位置Y:7,尺寸X:5,尺寸Y:9}
网格.html
<button type="button" class="button" style="margin-left:400px" onclick="saveChanges()">Save Changes</button>
网格.js
function saveChanges() {
var collection = [];
Array.from(document.querySelectorAll('.grid-container>.icon')).forEach((element) => {
var single = {};
single['categoryID'] = 1;
single['pageID'] = parseInt(element.getAttribute("icon-id"));
var gridArea=element.style.gridArea.split(" / ");
single['positionX']=parseInt(gridArea[0]);
single['positionY'] = parseInt(gridArea[1]);
single['dimensionX'] = parseInt(gridArea[2]);
single['dimensionY'] = parseInt(gridArea[3]);
collection.push(single);
});
var xhr = new XMLHttpRequest();
xhr.open("POST", "PageView/Create", true);
xhr.setRequestHeader("Content-Type", "application/json");
xhr.send(JSON.stringify({'collection': collection }));
}
PageViewController.cs
[HttpPost]
public ActionResult Create(List<PageCategoryPageViewModel> collection)
{
try
{
collection.ForEach((x)=>_pageCategoryPageService.CreatePageCategoryPage(x));
return View("Grid");
}
catch
{
return View("Grid");
}
}
解决方案
推荐阅读
- arrays - 我如何访问 char** 字符串中的下一个元素
- nix - 如何编写一个启动并可以在 nix-shell 环境中运行命令的 Haskell 程序?
- azure-web-app-service - Azure 应用服务 (Linux) CI/CD 构建不会删除从存储库中删除的文件
- php - 循环请求中的偏移量和限制
- matlab - Matlab中多个变量的顺序求解方程
- java - 如何使这个线程安全?
- datetime - 如果取消选中复选框,如何使用 Google Sheets Apps 脚本清除单元格?
- git - 默认情况下,我们在 .git 中有隐藏文件吗?
- python - 为什么我的 pyqtgraph y 轴在 x 轴上方偏移?
- wordpress - 更改结帐页面运费总额