【发布时间】:2018-06-22 03:47:14
【问题描述】:
我正在为文件上传进度条使用以下脚本。一切正常,除了我的 php 脚本 test2.php 中的 echo 命令。
文件上传后,我会在 test2.php 中使用粗体标签显示“已上传文件”,打印输出将显示“已上传文件”以及粗体标签,而不是将其设为粗体。
test2.php 没有任何问题,因为如果我直接转到该页面,那么该文本会以粗体打印。
$(function() {
$('#btn').click(function() {
$('.myprogress').css('width', '0');
$('.msg').text('');
var filename = $('#filename').val();
var myfile = $('#myfile').val();
var formData = new FormData();
formData.append('myfile', $('#myfile')[0].files[0]);
formData.append('filename', filename);
$('#btn').attr('disabled', 'disabled');
$('.msg').text('Uploading in progress...');
$.ajax({
url: 'test2.php',
data: formData,
processData: false,
contentType: false,
type: 'POST',
// this part is progress bar
xhr: function() {
var xhr = new window.XMLHttpRequest();
xhr.upload.addEventListener("progress", function(evt) {
if (evt.lengthComputable) {
var percentComplete = evt.loaded / evt.total;
percentComplete = parseInt(percentComplete * 100);
$('.myprogress').text(percentComplete + '%');
$('.myprogress').css('width', percentComplete + '%');
$('.myProgress').css("background-color", "#0078ae");
}
}, false);
return xhr;
},
success: function(data) {
$('.msg').text(data);
$('#btn').removeAttr('disabled');
}
});
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id="myform1" method="post" enctype="multipart/form-data">
<div class="form-group">
<label>Rename Firmware File <i>(optional)</i> </label>
<input class="form-control" type="text" id="filename" />
</div>
<div class="form-group">
<input type="file" id="myfile" />
</div>
<div class="form-group">
<div class="progress">
<div class="progress-bar progress-bar-success myprogress" role="progressbar" style="width:0%;">0%</div>
</div>
<div class="msg"></div>
</div>
<input type="button" id="btn" class="ui-button" value="Upload" />
</form>
【问题讨论】:
-
你在浏览器的开发者工具中看过AJAX请求吗?
-
如果您想在邮件中包含 HTML,请使用
html方法而不是text($('.msg').html(data);) -
谢谢克里斯,就是这样。
标签: javascript php jquery