Jquery文件上传发送调用ajax没有文件

时间:2014-03-16 16:17:17

标签: jquery jquery-file-upload

我起初知道这没有意义但是,我得到了这个场景,我需要一些帮助,以便JqueryFileUpload找到最佳状态。让我们来吧:

在用户注册后,我有一个页面,其中新用户用他的信息填写表格(正常输入文件)然后,这个表格甚至有可能(不是必须的)上传个人资料图像(这样做) ajax,在这种情况下使用JqueryFileUpload Plugin)。问题是,如果用户不想上传图片,JqueryFileUplaod不会发送请求,因为它没有文件。

我想检查是否有文件,如果没有,请发送带有正常请求ajax的请求。如果这是更好的方法,可以检查其中是否有任何文件?检查输入文件的值是否有效。 $('#fileupload').val()

这是我提交请求的代码:

HTML

<!-- others fields -->

<div id="file-uploader" class="pull-left">
      <button class="btn btn-primary btn-def">Choose File</button>
      <input id="fileupload" type="file" name="files" data-url="/profile/activate_profile">
</div>

JQuery的

// need to check if there is any image to upload if not 
// normal call ajax, if yes go next

$('#fileupload').fileupload({
            dataType: 'json',
            beforeSend: function(request) {
                return request.setRequestHeader("X-CSRF-Token", $("meta[name='_token']").attr('content'));
            },

            submit: function(e,data)
            {
               // add form vlues
                data.formData = {
                  'sport' : $('input[name="sport"]:checked').val(),
                  'city' :  $('#city').val(),
                  'country' : $('#form_location').val(),
                  '_token' : $('meta[name="_token"]').attr('content')
                };
            },

            add: function (e, data) {

                data.context = $('[data-go="finish"]')
                    .click(function () {
                        $(this).attr('disabled',true);
                        data.submit();
                    });
            },
            done: function (e, data) {

                // do my stuff
            }

        });

0 个答案:

没有答案