使用smoothstate.js上传文件

时间:2015-09-19 09:44:22

标签: javascript jquery smoothstate.js

此插件适用于表单提交,但上传文件除外。 查看代码,我发现在通过data:$form.serialize()定义请求变量时,可以发布输入。 (serialize)状态的文档:'来自文件选择元素的数据未被序列化'。

所以问题:是否有人添加了支持文件上传功能。我已经开始考虑自己添加一个功能,除非已经有一些解决方案。

1 个答案:

答案 0 :(得分:0)

与此同时,我找到了支持文件上传的解决方案:

if(typeof FormData === 'function'){
    // file upload supported
    var request = {
        url: $form.prop('action'),
        data: new FormData($form[0]),
        type: $form.prop('method'),
        async: false,
        cache: false,
        contentType: false,
        enctype: 'multipart/form-data',
        processData: false
    };
}else{
    // file upload not supported
    var request = {
        url: $form.prop('action'),
        data: $form.serialize(),
        type: $form.prop('method')
    };
}