AJAX文件上传,无需刷新,刷新

时间:2014-05-23 10:47:23

标签: javascript php jquery forms upload

我有一个表单,我想用户上传文件,但页面无法刷新。但是对于当前的脚本,确实如此。

JS:

$(function () { // Inserts data into SQL table without refreshing
    $('#mailattachment').on('submit', function (e) {
      $.ajax({
        type: 'post',
        url: 'functions/glist-MailAttachment.php',
        contentType: attr('enctype', "multipart/form-data"),
        data: $('#mailattachment').serialize(),
        cache: false,
        success: function (response) {
            if(response == 8 || response == 9){

            }       
            evt.preventDefault();
          return false;
        }
      });
      e.preventDefault();
    });
  });

HTML:

<button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
<h4 class="modal-title">Add Attachment</h4>
</div>
<div class="modal-body">
    <div class="row">
        <form method="post" enctype="multipart/form-data" id="mailattachment">
            <div class="col-md-12 clearfix"></div>
            <div class="form-group">
                <label class="col-sm-3 control-label">Select File</label>
                <div class="col-sm-9">
                    <input type="file" name="file" id="file">
                </div>
            </div>
            <input type="submit" name="submit" value="Submit">
    </div>
</div>
<div class="modal-footer">
    <button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button>
    </form>

如果我只设置表单的操作而不是ID,则上传工作正常。但是我使用这个JS来处理我的PHP脚本,以便将内容添加到SQL数据库中。现在我已经看到你必须添加这一行: contentType:attr('enctype',“multipart / form-data”),

但是这会让它刷新而不会上传文件。

所以我的问题是,JS有什么问题?

0 个答案:

没有答案