jQuery ajaxForm插件 - 从beforeSend回调结果中提交值

时间:2013-03-17 19:24:44

标签: php jquery ajax forms plugins

我正在使用this jQuery ajaxForm plugin将文件上传到我的服务器,并显示文件上传的进度(因为它主要用于视频上传)。我已经把这一切都搞好了,但是我想知道如何实现我想做的事情。

所以我希望能够做到的是:

  1. 提交表单 - 在数据库中创建新行
  2. 从中返回uniqueID,并使用文件上传
  3. 提交

    我需要/想要这样做的原因是,当有人上传视频时,我想让他们填写视频详细信息(视频标题,说明等),并在视频仍在上传时保存这些视频。所以要做到这一点,我需要在数据库中创建一行,以便创建该视频的唯一ID,然后将该值返回到视频上传本身,以便它可以使用视频上传详细信息修改该行,并使用该唯一ID当用户保存视频信息时,它知道它将要播放哪个视频。

    $('.upload-page form.video-upload').ajaxForm({
    url: "ajax/upload.php",
    data: {videoID: "videoID"}, //would I be able to modify this from beforeSend?
    beforeSend: function() {
    
    //This would be where I would make an ajax call to create the row in the database
        //then i would need to return the value from here to the upload form somehow?   
    
    },
    uploadProgress: function(event, position, total, percentComplete) {
    
        //returns back video upload progress
    },
    complete: function(xhr) {
    
               //Upload complete        
    
    }
    }); 
    

1 个答案:

答案 0 :(得分:0)

我会尝试使用jquery的append将<input type="hidden" value"(id)" name="video_id" />添加到表单中或序列化表单并将id添加到字符串的末尾。

但是,根据您在另一端处理视频上传的方式,您可能无法在上传完成之前获取ID。我从来没有用更大的文件做过这样的事情。