我正在使用JQuery和PHP构建一个表单,一切似乎都可以接受文件上传。 Json似乎不喜欢$ _FILES。当javascript关闭时,表单上传很好。这是一个已知的问题?如果是,是否有解决方法? JQuery插件如何设法做到这一点?
谢谢!
JQUERY:
$('#mcContactForm').submit(function(e){
e.preventDefault();
// validate form
mcValidateForm();
// serialize and submit form data
$('.mcloading').show();
var mcFormData = $(this).serialize();
mcSubmitForm(mcFormData);
// -----------------------------------------------
// AJAX FORM SUBMIT
// -----------------------------------------------
function mcSubmitForm(mcFormData){
$.ajax({
type: 'POST',
url: 'contact.php',
data: mcFormData,
dataType: 'json',
cache: false,
timeout: 7000,
success: function(data) {
if(data.error === true){
...
}
else if(data.error === false){
...
}
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
alert(errorThrown);
...
},
complete: function(XMLHttpRequest, status) {
...
}
});
}
});
答案 0 :(得分:2)
听起来好像你正试图通过ajax上传文件并发现只需通过常规的ajax发送表单参数就无法完成这项工作?如果是这样,你需要的是一个ajax文件上传插件。请看这里的一些可能性:
http://www.webdeveloperjuice.com/2010/02/13/7-trusted-ajax-file-upload-plugins-using-jquery/
这些通常使用提交隐藏iframe的系统来进行上传。