将ajaxform与ajax合并以上载图像

将ajaxform与ajax合并以上载图像,ajax,Ajax,我尝试在我的nodejs站点中创建上传照片。 我使用此代码选择文件并上载图像: var fileData = null; function loadFile() { var preview = document.querySelector('file'); var file = document.querySelector('input[type=file]').files[0]; var read

我尝试在我的nodejs站点中创建上传照片。 我使用此代码选择文件并上载图像:

 var fileData = null;

        function loadFile() {
            var preview = document.querySelector('file');
            var file    = document.querySelector('input[type=file]').files[0];
            var reader  = new FileReader();

            reader.onloadend = function () {
                fileData = file;
            }
            if (file) {
                reader.readAsDataURL(file);
            }
        }

        function uploadFile() {
            data = new FormData();
            data.append('file', fileData);

            $.ajax({
              url: "/post_pdf/",
              type: "POST",
              data: data,
              enctype: 'multipart/form-data',
              processData: false,
              contentType: false,
              success: function(data) {
                  document.getElementById("result").innerHTML = 'Result: Upload successful';
              },
              error: function(e) {
                  document.getElementById("result").innerHTML = 'Result: Error occurred: ' + e.message;
              }
            });
        }
使用loadfile函数我选择我的图像,使用Uploadfile函数我用ajax上传图像。 如果我单独使用它,它的工作将非常完美,并将图像上传到该位置。 但是,当我尝试将此代码添加到我的代码中时,会出现很多错误。 在我的代码中,我将pug文件中的所有表单发送到后端:

$('#account-form').ajaxForm({
    error : function(e){
        if (e.responseText == 'title-empty'){
            av.showInvalidTitle();
        }
    },
    success : function(responseText, status, xhr, $form){
        if (status == 'success')
        {
            $('.modal-alert').modal('show');
            console.log(responseText)
        }}
});
我尝试将ajaxform与ajax合并,但当我合并formdata或在ajaxform中发送时,文件的数据是send error。 如何合并代码?
感谢您的帮助。

尝试提交表单,它将随您的图像一起提交表单

  let form = $("#form_id");
            $.ajax({
                url : $(form).attr("action"),
                type: "POST",
                dataType: "json",
                processData: false,
                contentType: false,
                cache: false,
                data: new FormData(form[0]),
                success:function(data){

                },
                error: function (xhr, status, e) {

                }
            });
@约格什·帕特尔 当我使用此代码时:

$('#account-form-btn2').on('click', function(e) {
    let form = $("#account-form");
    $.ajax({
        url: $(form).attr("action"),
        type: "POST",
        dataType: "json",
        processData: false,
        contentType: false,
        cache: false,
        data: new FormData(form[0]),
        error: function (e) {
            if (e.responseText == 'title-empty') {
                av.showInvalidTitle();
            }
        },
        success: function (responseText, status, xhr, $form) {
            if (status == 'success') {
                $('.modal-alert').modal('show');
            }
        }
    });
});
出于某种原因,它将值发送到“路由”三次。 而且它也没有抓住成功的机会。 它将我发送到一个带有回调值的白色窗口。
如果需要,我可以发送获取值并返回值的函数(app.post)。

如何将我的文件数据添加到此表单FATA。我编辑了posr,上传功能有误。如果你想提交所有数据和文件,你不需要更改任何内容。使用此功能,它会自动将所有数据和文件发布到你的服务器。我发布了一个我尝试过的新代码,请看一看。非常感谢。