【发布时间】:2017-06-01 11:57:41
【问题描述】:
我在 jQuery 中生成了下一个表单:
$('.content').append('
<form name="make_new_model_release" enctype="multipart/form-data">
<input data-validate="validate" type="text" name="new_model_release_title" placeholder="Enter new model release title" />
<input type="file" name="newModelReleaseFile" id="newModelReleaseFile" />
<input type="submit" value="Create new model release" />
</form>');
服务器端简单:
var_dump($_FILES);
AJAX 代码:
var data = form.serialize();
$.ajax({
type: 'POST',
dataType: 'json',
url: formurl,
data: data,
beforeSend: function(data) {
form.find('input[type="submit"]').attr('disabled', 'disabled');
},
success: function(data) {
console.log(data);
},
complete: function(data) {
form.find('input[type="submit"]').prop('disabled', false);
}
});
提交后$_FILES数组为空。
- 我检查了 php.ini
file_uploads=开启 | upload_max_filesize=128M | post_max_size=128M
临时文件夹允许读写
我尝试创建
data: new FormData(formId)- 没有任何改变,$_FILES 数组为空。
【问题讨论】:
-
我看不到你的
formId -
我强烈推荐read this。我用它通过 ajax 上传文件,效果很好。
标签: php jquery ajax forms upload