Javascript 将FormData发送到ajax时未捕获的TypeError非法调用

Javascript 将FormData发送到ajax时未捕获的TypeError非法调用,javascript,json,ajax,Javascript,Json,Ajax,我正在尝试向服务器发送一个文件以进行一些处理。使用下面的代码,这工作得非常好: var formData = new FormData(); formData.append('file', $('#fileUpload')[0].files[0]); options = JSON.stringify(options); // {"key": "value"} $.ajax({ url: "url", type: "POST", data: for

我正在尝试向服务器发送一个文件以进行一些处理。使用下面的代码,这工作得非常好:

var formData = new FormData();
formData.append('file', $('#fileUpload')[0].files[0]);
options = JSON.stringify(options); // {"key": "value"}

$.ajax({
        url: "url",
        type: "POST",
        data: formData,
        processData: false,
        contentType: false,
        success: function (data) {

        },
        error: function (msg) {
            showMsg("error", msg.statusText + ". Press F12 for details");
            console.log(msg);
        }
    });
但是,我尝试做的不仅仅是发送FormData,还发送一个json对象。我正在尝试做如下事情:

var formData = new FormData();
formData.append('file', $('#fileUpload')[0].files[0]);
options = JSON.stringify(options); // {"key": "value"}

$.ajax({
        url: "url",
        type: "POST",
        data: { "formData": formData, "options": options },
        //dataType: "json",
        //processData: false,
        //contentType: false,
        success: function (data) {

        },
        error: function (msg) {
            showMsg("error", msg.statusText + ". Press F12 for details");
            console.log(msg);
        }
    });

当我这样做时,我得到了uncaughttypeerror非法调用的错误消息,根据我的研究,我找不到任何这样发送表单数据的示例。是否需要对其进行重新构造?是否有其他方法将json对象与表单数据一起发送?

将json对象添加到表单数据工作区

var formData = new FormData();
formData.append('file', $('#fileUpload')[0].files[0]);
options = JSON.stringify(options);
formData.append('options', options); //append it with the form data and take it apart on the server

$.ajax({
    url: "url",
    type: "POST",
    data: formData,
    processData: false,
    contentType: false,
    success: function (data) {

    },
    error: function (msg) {
        showMsg("error", msg.statusText + ". Press F12 for details");
        console.log(msg);
    }
});