Jquery - Click事件在ajax和FormData之后停止工作

时间:2015-10-13 10:58:03

标签: javascript jquery ajax form-data

我正在使用FomdData将图像上传到服务器。该功能工作正常,但在第一次上传后,我无法执行第二次。似乎阻止了点击事件。加载文档时页面上存在 #upload-image ,成功后不会以任何方式更改。这是什么问题?

修改

Click事件正在运行,但ajax在首次上传后停止工作。

$("#product-sell-search").on("click", '#upload-image', function() {

        var
            url      = $(this).attr('href'),
            fileData = $("#ocrFile").prop("files")[0],
            formData = new FormData();

        if(!fileData){

            alert('Please Sellect File');
            return false;
        }

        formData.append('ocrFile', fileData);
        // Added in order for server to recognize as post request
        formData.append("post", "post");

        $.ajax({
            url: url,
            dataType: 'script',
            cache: false,
            contentType: false,
            processData: false,
            data: formData,
            type: 'POST',
            success:function(data, textStatus, jqXHR){
                $.when($('#product-sell-search')
                        .find('input[name=ProductsSearch]')
                        .val(data.replace(/['"]+/g, '')))
                .then(function(){
                    $('#product-sell-search').trigger('submit');
                });

            },
            error: function(jqXHR, textStatus, errorThrown){
                alert('There was an error. Please try again');
            }
       });

        return false;
    });

2 个答案:

答案 0 :(得分:1)

为什么retun false是你的函数成功然后它应该返回true。

答案 1 :(得分:0)

我设法使脚本正常工作。我删除了 dataType:'脚本' 行,现在可以在单页加载中进行多次上传。