【问题标题】:Uncaught TypeError: Failed to execute 'append' on 'FormData': 2 arguments required, but only 1 present未捕获的类型错误:无法在 'FormData' 上执行 'append':需要 2 个参数,但只有 1 个存在
【发布时间】:2017-01-28 18:52:30
【问题描述】:

我正在将表单数据发送到 asp.net mvc 中的 web api 控制器,但是每次我收到上述错误时我的 ajax 请求都没有命中控制器请告诉我如何在 asp.net mvc 中发送带有 ajax 文件的请求到Web api 控制器

$(document).on("submit", ".SignupForm", function (event) {
    event.preventDefault();
    var formData = new FormData($(".SignupForm"));
    formData.append($('#imageFile')[0].files[0]);
    $.ajax({
        url: 'api/Countries',
        type:'POST',
        data: obj,
        dataType: 'json',
        processData: false,
        success: function (result) {
            console.log(result);
        },
        error: function (data, status, abc) {
            console.log(data);
            console.log(status);
            console.log(abc);
        }
    });
});

【问题讨论】:

    标签: asp.net asp.net-web-api2 asp.net-ajax


    【解决方案1】:

    Easy的答案是对的,如果你不明白他的答案,那就是你想要的。

    formData.append('chooseAName', $('#imageFile')[0].files[0]);
    

    【讨论】:

      【解决方案2】:

      看到这个:(显然你必须添加参数)

      SyntaxEDIT 这个方法有两个版本:一个二和一个三 参数版本:

      formData.append(name, value); formData.append(名称,值,文件名); 参数

      name 其数据包含在 value 中的字段的名称。价值 字段的值。这可以是 USVString 或 Blob(包括子类 例如文件)。 filename 可选 报告给服务器的文件名 (USVString),当 Blob 或 File 作为第二个参数传递时。 Blob 对象的默认文件名是“blob”。默认文件名 对于文件对象是文件的文件名。 ExampleEDIT 以下行创建一个空的 FormData 对象:

      var formData = new FormData(); // 当前为空 可以添加 使用 FormData.append 的键/值对:

      formData.append('username', 'Chris'); formData.append('userpic', myFileInput.files[0], 'chris.jpg'); 与常规表单数据一样,您可以 附加多个具有相同名称的值。例如(并且是 通过在名称中添加 [] 来兼容 PHP 的命名约定):

      formData.append('userpic[]', myFileInput1.files[0], 'chris1.jpg'); formData.append('userpic[]', myFileInput2.files[0], 'chris2.jpg'); 这种技术使处理多文件上传变得更简单,因为 得到的数据结构更有利于循环。

      https://developer.mozilla.org/en-US/docs/Web/API/FormData/append

      【讨论】:

      • 请给我一些演示,我可以在其中找到运行代码
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-07-03
      • 1970-01-01
      • 1970-01-01
      • 2016-12-11
      • 2018-02-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多