ajaxjquery关于“无页面加载插入数据库”的新版本

5fjcxozz  于 2021-06-25  发布在  Mysql
关注(0)|答案(1)|浏览(239)

我是ajax新手,我使用的是旧代码:

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

它工作,但不是完美的,一切都是好的,但当我试图上传一个图像,它有“明确的价值”。
我在试着编写这样的新代码:

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

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

cbjzeqam

cbjzeqam1#

如果要使用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() 以防止在传统的表单提交方法中执行操作。

相关问题