gpt4 book ai didi

asp.net-mvc - 使用 jQuery.Form 将数组提交到 ASP.NET MVC 应用程序

转载 作者:行者123 更新时间:2023-12-02 05:00:18 26 4
gpt4 key购买 nike

我正在使用 jQuery.Form 插件向 ASP.NET MVC (4) 应用程序提交数组。

假设我有一个数组:

var items = [ 1, 2, 3 ];

使用 jQuery.Form 提交该数组该数组将被发送为的插件:

items[]: 1
items[]: 2
items[]: 3

(当使用 form-url-encoded 内容类型时)

但是 ASP.NET MVC 不理解,为了让 MVC 理解我需要发送:

items[0]: 1
items[1]: 2
items[2]: 3

(包括索引)

items: 1
items: 2
items: 3

(无方括号)

我不能以 JSON 格式提交,因为除了数组和其他数据我还提交了文件。

问题:有没有办法配置 jQuery.Form 以不同的格式发送数组,或者教 ASP.NET MVC 理解 item[] 格式?

最佳答案

如果 multipart/form-data 编码类型是可能的,那么应该可以使用 Javascript FormData 将其作为 JSON 与发布的文件一起提交.

var formData = new FormData();

var json = "json" // Assuming you can wrap this up as a JSON,
// and you're using a <input type="file">.

formData.append("FileData", $("input:file")[0].files[0];
formData.append("JsonData", json); //etc.

$.ajax({
url: 'UnwrapData',
data: formData,
type: "POST", //etc.

然后你可以将它全部发送到一个看起来像这样的 Controller ,在那里解析 JSON 并可以解压缩文件数据:

public ActionResult UnwrapData(HttpPostedFileBase FileData, string JsonData)
{
// where the JSON data is unwrapped, etc.
}

关于asp.net-mvc - 使用 jQuery.Form 将数组提交到 ASP.NET MVC 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16971673/

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