javascript - JQuery FormData ajax 文件上传不工作

标签 javascript jquery ajax file-upload

我不明白为什么我的代码不起作用。我的 html 是:

<form name="admin_image" action="/index.php" method="post"enctype="multipart/form-data">
    <input class="editor" type="text" name="image_title_100502002" value="" placeholder="Bildtitel">
    <label for="fileToUpload_100502002" class="fileUpload">
    <input type="file" name="fileToUpload" id="fileToUpload_100502002">
    </label>
    <input type="submit" name="delete_image_100502002" value="Bild löschen">
    <span data-name="remove_image_100502002">Abbrechen</span>
    <input class="ajax_submit_image" type="submit" name="submit_image_100502002" value="Speichern">
</form> 

当不使用 ajax 提交表单时,一切正常,服务器端可以处理 $_FILES 数组,当通过 ajax 提交表单时,它不起作用,即使 chrome dev 工具显示 xhr beeing 成功。 这是我的 Jquery ajax:

// send cms image via ajax 
$("input.ajax_submit_image").click(function(event){
    //dont submit form on click
    event.preventDefault();

    //save form parent in variable
    var thisform = $(this).parent();
    //set ajax data 
    var formdata = new FormData(thisform[0]);

    // send ajax
    $.ajax({
       data: formdata,
       processData: false,
       contentType: false,
       error: function() {
          alert('an ajax error occured');
       },
       success: function() {
        //return updated content
        // $('form.show').next('div.currentcontent').empty().append('TEST');
        //close the form after ajax submission
        thisform.toggleClass('show');

        // hide overlay when form is hidden
        $('#cms_overlay').removeClass('show');
        //reset id when current content is submitted when ajax finished
        CMS.currenteditid= undefined;

       },
       type: 'POST'
    });
})

有人知道为什么它不能与 ajax 一起使用吗?提前致谢!

最佳答案

我从我的应用程序中删除了它

  <input type="file" id="input_files" name="input_files[]" multiple="true" onchange="uploader.loadFiles(event);" /> 

----
// load files, var files = new Array()
var loadFiles = function(event)
{
    files = event.target.files;     
}

好吧,其余的处理是在另一个地方完成的,但是要管理文件,您需要应用类似的东西。

关于javascript - JQuery FormData ajax 文件上传不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49213570/

相关文章:

javascript - innerHTML 大小限制

javascript - 预检具有无效的 HTTP 状态代码 404 Jquery AJAX POST

javascript - 编译时的javascript函数和var区别

javascript - 仅当浏览器为 IE 7 或更早版本时,如何才能在网页上包含 JavaScript 文件?

javascript - 无法设置固定宽度和居中的自定义滚动条

javascript - 通过jquery ajax检查图像是否存在?

javascript - 如何向 h2 标签添加文本并识别嵌入标签,例如 < i >

jquery - 如何在 jQuery 1.9.1 中使用 $.parseJSON?

javascript - 在 Bootstrap 中使表格列可拖动(排序)

javascript - 如何在 jquery ajax 中发送所有搜索过滤器值并获得结果?