首页 > 解决方案 > AJAX jQuery 新版本关于“插入数据库而不加载页面”

问题描述

我是 AJAX 新手,我正在使用旧代码:

 $.ajax({
  type: 'POST',
  url: 'phppath/sucms.php',
  data: $('#formid').serialize(),
  success: function(response){
   $('#success').html(response);
  }
 });

它可以工作,但并不完美,一切都很好,但是当我尝试上传图像时,它具有“CLEAR VALUE”。

我正在尝试制作这样的新代码:

  var formData = new FormData(this);
  $.ajax({
  type: 'POST',
  url: 'phppath/sucms.php',
  data: formData ,
  success: function(response){
   $('#success').html(response);
   }
  });

但它会重新加载页面并打开 sucms.php 清除窗口。

标签: javascriptphpjquerymysqlajax

解决方案


如果要使用 ajax 上传文件,则需要在 ajax 配置中将 contentType 和 processData 设置为 false。

    var formData = new FormData();
        formData.append(<KEY>, <FILE>);

    $.ajax({
        type: 'POST',
        contentType: false,
        processData: false,
        url: 'phppath/sucms.php',
        data: formData ,
        success: function(response){
            $('#success').html(response);
        }
    });

另一方面,如果页面正在重新加载或在新窗口中打开。这可能是因为您的按钮类型是submit. 您应该将按钮类型更改为button或使用event.preventDefault()以防止在传统表单提交方法中执行该操作。


推荐阅读