使用jquery上传文件,但它不会触发.done事件

时间:2013-10-10 09:53:41

标签: javascript php jquery

我正在寻找其他帖子,但我无法解决我的问题。当我上传文件时它成功,但.done()事件不起作用,它不会刷新为“test.php?validate”。 这是jquery代码:

function init(){
    $("#asd").submit(function(){
        var data = new FormData($('#asd')[0]);
        upload(data);
        return false;
    });
}

function upload(data) {
    $("#asd > :submit").prop('disabled', true);
    $.ajax({
        url: "test.php?validate",
        type: "POST",
        data: data,
        async: false,
        cache: false,
        contentType: false,
        processData: false

    })
    .done(function(info){
        var data = JSON.parse(info);
        if (data.status == 200)
            messageAndRedirect(data.msg, data.url);
        else
            error(data.msg);
    })

    .fail(function(){
        alert("Error.");
    })
    .always(function(){
        $("#asd > :submit").prop('disabled', false);
    });

}

这是输入代码:

{include file="header.tpl" title="files" scripts=$scripts}
<form id="asd"  enctype="multipart/form-data">
         <label for="file">Filename:</label>
        <input type="file" name="file" id="file" /> 
        <br>
        <input type="submit" value="¡upload!">
</form>
</body>
</html>

请帮忙!感谢

0 个答案:

没有答案