上传按预期工作,但不在Firefox中。 msg没有错误,帖子的回复状态为200 OK。但代码在firefox中停止,没有任何内容上传。我没有得到状态200旁边的服务器的响应
修改
从Firefox发布时,PHP不会触发POST事件;
表格;
<form id="avatar_form" method="post" action="ajax-php.php" enctype="multipart/form-data">
<input id="avatarFile" type="file" name="file" size="25" class="input" value="" data-type="file">
<input id="avatarUp" type="submit" value="Télécharger" disabled="disabled" name="avatarUp">
</form>
之后在PHP中我可以捕获POST
if(isset($_POST["avatarUp"])){// deal with the file here}
仅限Chrome。使用Firefox时未设置此帖子。
我有这个代码使用ajax上传文件;
$(document.body).ready(function () {
$(document.body).on('submit', '#avatar_form', function (e) {
e.preventDefault(e);
var $form = $(this);
var formdata = (window.FormData) ? new FormData($form[0]) : null;
var data1 = (formdata !== null) ? formdata : $form.serialize();
alert(data1);
$.ajax({
url: $form.attr('action'),
type: $form.attr('method'),
contentType: false,
processData: false,
dataType: 'json',
data: data1,
success: function (response) {
console.log(response);
if (response == 1) {
var item = load_content('profil_menu').then(function (response) {
console.log("Item x", response);
data = response;
$('#profil_menu').html(data);
return;
});
}
}
});
});
});
代码在Chrome中工作正常但是在FirexFox或IE中,我不太关心IE但它应该在Firefox中运行吗?
这个帖子有什么问题?
答案 0 :(得分:1)
通过设置async : false
使您的ajax呼叫同步。这必须做好这项工作。