Ash*_*kar 6 javascript php ajax jquery
我正在使用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);
}
});
}
Run Code Online (Sandbox Code Playgroud)
ValidateApplication.php肯定存在.如果我在Web浏览器中输入地址,我可以查看它,但是当我提交表单时,Chrome控制台会返回404.
PHP与运行JavaScript的HTML页面位于同一文件夹中,所以我很困惑为什么我会继续获得404.
UPDATE
将POST更改为GET可以消除404错误,但会返回500内部服务器错误
更新2
将表单的操作更改为="ValidateApplication.php"并正常提交(没有AJAX)会导致正确的文件没有任何错误.
看来是物体出了问题FormData。一旦我改变了使用方法.serialize(),该页面就可以正常工作了。
$("form#applyform").submit(function(){
var data = $("form#applyform").serialize();
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);
}
});
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
64645 次 |
| 最近记录: |