簡體   English   中英

在ASP.NET MVC中使用Ajax發送Json數據數組和圖像文件

[英]Sending array of Json data along with image file with ajax in asp.net mvc

我正在嘗試使用ajax發送json數據和圖像文件的數組,但是我只能獲取圖像文件而不能獲取json數據,盡管我可以看到在提琴手中正確發送了json數據。 0。 如何獲取json數據數組?

@using (Ajax.BeginForm("GetData", "Home", new AjaxOptions
{
    InsertionMode = InsertionMode.Replace
}, new { @id = "form_", enctype = "multipart/form-data" }))
{
    @Html.TextBox("imagefile", null, new { @type="file"})
    @Html.Hidden("formdata", null, new { @data_formdatajson = "" }))
    @Html.TextBox("submit", null, new { @id = "button", @value = "upload", @type = "submit"})
}

    var DataClass = {
            data1: data1value,
            data2: data2value
        }

dataArray=[];
dataArray.push(DataClass);
dataArrayJson = JSON.stringify(dataArray);
$('#formdata’).data("formdatajson ", dataArrayJson);

           $('#form_').on('submit', function (e) {
                var dataArray_ = $('#formdata ').data("formdatajson");
                var formdata = new FormData($(this)[0]);
                formdata.append('formdata', dataArray_);
                        $.ajax({
                            url: '/GetData/Home/',
                            type: 'POST',
                            data: formdata,
                            processData: false,
                            contentType: false,
                            dataType: "json",
                            success: function (data) {
                            },
                            error: function () { },
                        });
                    });
public class DataClass
{
     public string data1 { get; set; }
        public string data2 { get; set; }
}

        [HttpPost]
        public JsonResult GetData(IEnumerable<DataClass> formdata, HttpPostedFileBase imagefile)
        {
                    return Json(new { success = true },  JsonRequestBehavior.AllowGet);
        }

我解決了問題...我不知道為什么,但是Asp.Mvc無緣無故地獲取json數據並向json數組外部添加一個空元素。我使用request.form來獲取json並通過使用子字符串消除了這些額外的數據。現在可以了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM