我使用 Ajax 将我的表单数据和文件传递到 PHP 文件进行处理。
脚本:
$("form#applyform").submit(function(){
var data = new FormData();
jQuery.each($('#file')[0].files, function(i, file) {
data.append('file-'+i, file);
});
$.ajax({
url: 'ValidateApplication.php',
data: data,
cache: false,
contentType: false,
processData: false,
type: 'POST',
success: function(data){
alert(data);
}
});
}
ValidateApplication.php
绝对存在。如果我在网络浏览器中输入地址,我可以查看它,但是当我提交表单时,chrome 控制台返回 404。
PHP 与运行 JavaScript 的 HTML 页面位于同一文件夹中,所以我很困惑为什么我一直收到 404。
更新
将 POST 更改为 GET 摆脱了 404 错误,但返回 500 内部服务器错误
更新 2
将表单的操作更改为 =“ValidateApplication.php” 并正常提交(不使用 AJAX)会导致正确的文件,没有任何错误。
原文由 Ashwin Sekar 发布,翻译遵循 CC BY-SA 4.0 许可协议
这似乎是
FormData
对象的问题。一旦我将方法改为使用.serialize()
,页面就可以正常工作了。