weixin_33701617 2017-11-15 17:14 采纳率: 0%
浏览 43

Ajax上传文件不起作用

I dont know what wrong with this code but it show an error message "Uncaught TypeError: Illegal invocation"

     $('.upload-document').on("click", function() {
        $(this).parent().append("<input type='file' class='upload-btn' style='visibility:hidden' />");
        $('.upload-btn').click();
        $('.upload-btn').on("change", function(e){
            var file = $(this)[0].files[0];
            $.ajax({
                type: 'POST',
                url: "upload-file.php",
                data: {
                    file: file
                },
                success: function (data) {
                    console.log(data);
                }
            });
        })
    })
  • 写回答

1条回答 默认 最新

  • 狐狸.fox 2017-11-15 17:31
    关注

    Change your code to this:

    $('.upload-document').on("click", function () {
        $(this).parent().append("<input type='file' class='upload-btn' style='visibility:hidden' />");
        $('.upload-btn').click();
    
    })
    $('body').on("change",'.upload-btn', function (e) {
        var file = $(this)[0].files[0];
        $.ajax({
            type: 'POST',
            url: "upload-file.php",
            data: {
                file: file
            },
            success: function (data) {
                console.log(data);
            }
        });
    })
    
    评论

报告相同问题?