我是 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);
}
});
另一方面,如果页面正在重新加载或在新窗口中打开。这可能是因为您的按钮类型是提交
。您应该将按钮类型更改为 button
或使用 event.preventDefault()
来阻止在传统表单提交方法中执行操作。
关于javascript - AJAX jQuery新版本关于 "Insert into database without page load",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50292133/