javascript - 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 清除窗口。
解决方案
如果要使用 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()
以防止在传统表单提交方法中执行该操作。
推荐阅读
- swift - ObjectMapper - Initialize an empty init in child class
- ios - Tabindex 属性未按预期工作(ios/osx)
- mysql - 选择 sql 中第一次出现三个唯一值的时候
- ios - Flutter 不会构建 iOS 版本 - 完成
- django - Django模板覆盖
- perl - 错误检查字符串
- c++ - 外部设备的有限状态机
- php - cURL 无法正确发送内容类型
- amazon-web-services - AWS IoT Shadow - 如何处理或拒绝无效的“期望”状态?
- c - 错误:(1098)XC8 中变量“_sprintf”的声明冲突