JQuery文件上传和AJAX问题

时间:2014-03-29 21:18:42

标签: jquery ajax json

对于广泛的标题感到抱歉,但我想我在这里有几个不同的问题,我希望有人可以帮我解决这个问题。

我正在使用malsup的表单插件来处理文件上传。我的主要问题是我需要处理一个JSON服务器响应,其中包含我上传脚本中已更改的文件名,然后$ .push将该值传递到另一个数组,并将其与其他数据一起保存。

Malsup的文档声明我可以使用json的dataType,但是当我使用它时,进度条停止工作。

    $("#article-save").on('click', function(e){
      e.preventDefault();

      if( $('#article-upload-file').val().length > 0) {
        var file = '';
        $("#article-upload").ajaxSubmit({
          target: '#article-output',
          resetForm: true,
          dataType: 'json',        // This stops the progress bar from working
          async:false,             // This stops the progress bar from working
          beforeSubmit: articleBeforeSubmit,
          uploadProgress: articleOnProgress,
          success: function(data){
            if(data.success == 1){
              file = data.file;
            }
          }
        });
      }

alert(file);

//  Here is where I need 'file' so I can attach it to the array below.
//       var vals = $("#article").find('input, select').serializeArray();

是否可以取回我的服务器响应并仍然有进度条?正如您所看到的,我使用async:false这可能是罪魁祸首,因为进度是一个同步过程,但我不知道如何从成功函数中获取file变量。

0 个答案:

没有答案