jquery.ajax - 检查提交文件

时间:2013-12-09 12:07:56

标签: jquery ajax file upload submit

我需要检查提交事件的文件,所以我做了以下事情:

$(document).ready(function(){
  $("form").submit(function(){
        data = new FormData();
        data.append('picture', $('#picture-field')[0].files[0]);

        $.ajax({
            url: 'checkit.php',
            data: data,
            processData: false,
            cache: false,
            contentType: false,
            type: 'POST',
            dataType: "json",
            success: function (data) {
                alert(data.error)
            }
        });
  });
});

但这不起作用。返回的数据没有显示,任何人都可以帮助我?

1 个答案:

答案 0 :(得分:0)

尝试阻止表单提交操作

$(document).ready(function () {
    $("form").submit(function (e) {
        //stop the default form submit action
        e.preventDefault();

        var files = $('#picture-field')[0].files;
        if (!files.length) {
            alert('select a file')
            return;
        }

        var data = new FormData();
        data.append('picture', $('#picture-field')[0].files[0]);

        $.ajax({
            url: 'checkit.php',
            data: data,
            processData: false,
            cache: false,
            contentType: false,
            type: 'POST',
            dataType: "json",
            success: function (data) {
                alert(data.error)
            },
            error: function (jqXhr, status, error) {
                alert(status + ':' + error + ':' + jqXhr.responseText)
            }
        });
    });
});