从JQUERY传递数据| AJAX到ASP.NET

问题描述

我正在将文件上传到我的应用程序,并且我在asp.net中使用ajax&jqyery&handel 这是我的代码jqyery

$(document).ready(function ()
        {
            $('#Button1').click(function ()
            {
                var files = $('#FileUpload1')[0].files;
                if (files.length > 0) {
                    var id = 1;
                    var formData = new FormData();
                    for (var i = 0; i < files.length; i++) {
                        formData.append(files[i].name,files[i]);
                    }
                    $.ajax({
                        url: 'Handler1.ashx',method: 'Post',data: formData,contentType: false,processData: false,success: function () {
                            alert('success');
                        },error: function (err) {
                            alert(err.error)
                        }
                    });
                }
            });
        });

这是我在处理程序c#中的代码

public void ProcessRequest(HttpContext context)
        {
            if (context.Request.Files.Count > 0)
            {
                HttpFileCollection files = context.Request.Files;
                for (int i = 0; i < files.Count; i++)
                {
                    HttpPostedFile file = files[i];
                    string fileName = context.Server.MapPath("~/Uploads/" + System.IO.Path.GetFileName(file.FileName));
                    file.SaveAs(fileName);
                }
            }
        }

我的问题是我需要将其他ID变量(例如id)从我的jquery传递给需要有人提出建议的处理程序

解决方法

只需将FormData.Append添加到您的JavaScript中

formData.append('id','test1234');

然后在您的处理程序中通过表单访问它

var otherData = context.Request.Form;

编码愉快,加油!