【发布时间】:2021-08-08 09:08:38
【问题描述】:
我已经在jquery中编写了一个代码来替换URL链接和数组。
<form action='' method="post" id="bulkDeleteForm">
<button class='button-secondary-warning' id="bulkDelete" style="margin-left: 73%; margin-top: 2%"><span class='fas fa-times'></span>Bulk Delete</button>
</form>
$("#bulkDeleteForm").submit(function (event) {
var assignments = [1,2,3,4,5]; //example array
var clinicalAssignments = ["4","7","8","9"]; //example array
var url = '@Url.Action("BulkDelete", "Assignments", new { schoolId = school.Id, courseId = Model.Course.Id, assignments = "-1", bulkClinicalAssignments = "-2" })';
url = url.replace("-1", assignments);
url = url.replace("-2", clinicalAssignments);
$("#bulkDeleteForm").attr('action', url);
});
现在,当表单提交了分配的值并且 bulkClinicalAssignments 不会被替换为数组时,它是逗号分隔的值。如何用数组替换该参数?
【问题讨论】:
-
最好创建 url 部分虎钳并将数组值添加到其中。可以解决你的问题
-
最好只创建一个
$.ajax({method:"POST", data: { assignments, clinicalAssignments }, url: '@Url.Action...'(没有-1/-2 占位符的Url.Action)并让jquery POST 为您服务-无论如何您都不希望在POST 的URL 上使用这些参数,它们应该在帖子的body中。不要忘记从.submit到return false并处理页面的重新加载。 -
或者,在您的
form中使用<input type='hidden'>,设置其中的值并正常发布/提交表单。像 POST 那样乱用 URL 只是在问问题。
标签: javascript jquery arrays asp.net-mvc asp.net-core