【发布时间】:2014-06-23 15:52:42
【问题描述】:
我正在使用 Ajax 将表单数据和文件传递给 PHP 文件进行处理。
Javascript:
$("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 Internal Server Error
更新 2
将表单的操作更改为 ="ValidateApplication.php" 并正常提交(没有 AJAX)会导致正确的文件没有任何错误。
【问题讨论】:
-
请文件夹结构
-
您的大小写是否正确?某些操作系统/Web 服务器以不同的方式处理大小写。 (即
ValidateApplication.php与validateapplication.php不同,Validateapplication.php也不同) -
尝试使用绝对路径
-
另外,为了测试,如果你使用绝对路径而不是 PHP 文件的相对路径会发生什么?
-
大小写正确,完整的URL是localhost/Scope%20Website/ValidateApplication.php,使用绝对路径还是报同样的错误
标签: javascript php jquery ajax