AJAX jQuery 新版本 关于"Insert into database without page load"



我是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 清除窗口。

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

最新更新