【发布时间】:2017-05-20 07:43:53
【问题描述】:
我使用 PHP(Codeigniter 3)、Apache 和 jQuery(最新)作为前端。
我有用于 ajax 的脚本将视频上传到服务器并取得进展。当请求成功时,服务器返回视频的路径,jQuery 将此路径加载到 HTML5 标准视频播放器。 一切正常,但是当通过 jQuery 将路径添加到视频播放器时,它会发出 GET 请求来获取视频,我在控制台中看到 -
获取站点的 URL/video/ojbfc1oz5h7r.mp4 412(前提条件失败)
这仅适用于谷歌浏览器。 这是上传脚本的一部分:
$.ajax({
status:function(d){
console.log(d);
},
url: URL,
type: "POST",
data: formdata,
processData: false,
contentType: false,
async: true,
success: function (data) {console.log(data);
var video = $.parseJSON(data);
console.log(video);
console.log('///////////////////////');
console.log(video.path);
$('.cont').append('<video><source src="'+video.path+'" type="video/mp4"> </video>');
},
error:function(jqXHR, textStatus, errorThrown){
},
beforeSend:function(e, d){
readVideo();
},
complete:function(data){
clearInterval();
},
stop:function(e, r){//console.log(e);console.log(r)
},
xhr: function() {
console.log(err);
var xhr = new window.XMLHttpRequest();
xhr.upload.addEventListener("progress", function(evt) {
if (evt.lengthComputable) {
var percentComplete = evt.loaded / evt.total;
percentComplete = parseInt(percentComplete * 100);
$('.progress').text(percentComplete + '%');
if (percentComplete === 100) {
}
}
}, false);
return xhr;
},
});
这是我的 PHP 的一部分:
$this->load->library('upload');
$this->upload->initialize($config);
if($this->upload->do_upload('video')){
$path = '/video/' . $this->upload->data('file_name');
echo json_encode(array('filename' => $this->upload->data('file_name'), 'path' => $path));
}
【问题讨论】:
-
我也有同样的问题。我认为它带有 Chrome 更新。您找到导致它的原因/解决方案了吗?
标签: php jquery html codeigniter google-chrome