Jquery Ajax 同时传递文本和文件的方法

本文为转载,原地址:http://jingyan.baidu.com/article/c910274bc34e06cd361d2dd5.html

接下来是重点:
页面少不了引用jquery.js,这里不多说。
html部分:

type="text" id="t1" /> type="file" id="f1" />
type="button" value="tijiao" onclick="submitForm()" />

js部分:

function submitForm() {
    var formData = new FormData();//必须是new FormData后台才能接收到
    formData.append("t1", $("#t1").val());
    formData.append("f1", $("#f1")[0].files[0]);
    $.ajax({
        url: "/Home/GetFile",
        data: formData,
        type: 'post',
        datatype: "json",
        contentType: false,//必须false才会自动加上正确的Content-Type
        processData: false,//必须false才会避开jQuery对 formdata 的默认处理,XMLHttpRequest会对 formdata 进行正确的处理 
        success: function (jdata) {
            alert(jdata);
        }
    });
}

后台(C#):

 public JsonResult GetFile()
 {
     HttpPostedFileBase file = Request.Files["f1"];
     string t1 = Request["t1"];
     return Json("success", JsonRequestBehavior.AllowGet);
 }

你可能感兴趣的:(技术)