无法使用ajax帖子发布文件

时间:2013-01-01 09:28:15

标签: asp.net-mvc jquery

我们使用ASP.Net Mvc 4.0。

我的目标是保存包含普通输入字段和文件输入字段的表单。 我应该能够在发布时添加额外的数据。 我应该可以对'Ajax Post的成功执行一些操作。

我们使用ajax帖子来发布表单数据,因为我们可以完成上面的2,但是序列化和将文件发布到服务器失败了。

每当我们使用ajax帖子发帖时,总是Request.Files.Count == 0,当我检查我的控制器的Post Action时。

我用过的ajax帖子是:


        function PostData(formId, eventSource, eventName, eventArgs, controlId) {
   var $dialogForm = $("#" + formId + "Form");

   fdata = $dialogForm.serialize();
   fdata = fdata + '&eventSource=' + eventSource + "&eventName=" + eventName + '&eventArgs=' + eventArgs;

    $.ajax({
        url: $dialogForm.attr("action"),
        type: $dialogForm.attr("method"),
        cache: false,
        data: fdata,
        success: function (result) {
            ProcessEvent(result);
        }
    });
}


请为我提供解决方案!

1 个答案:

答案 0 :(得分:0)

当你使用ajax的概念时,你无法上传文件。但是有一些调整用于使用ajax上传文件和表单数据。每当在表单中遇到文件类型时,表单数据和文件都可以复制到iframe,并且可以提交iframe,使您感觉文件已使用ajax与其他表单数据一起上传。

jquery中有各种插件可以帮助您轻松完成此任务。 我最喜欢的一个是ajax表格

http://malsup.com/jquery/form/#file-upload

你可以使用这个......