作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 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/
我是一名优秀的程序员,十分优秀!