【发布时间】:2018-03-30 18:16:37
【问题描述】:
这是我在图像上传之前的功能,它显示加载成功时显示文件。 但如果文件长度更像是 20 或 40,它会上传文件,但控制台中未显示数据,仅加载浏览器中显示的图像
function upload_images(self)
{
var formdata = new FormData();
formdata.append('_token', $('input[name="_token"]').val());
var holder = $('div.pond div.pond-img-list'); //uploaded files holder
var formdata_file_length = 0;
var allowed_file_type = ['image/gif', 'image/jpeg','image/jpg','image/png'];
for(var i = 0; i<self.files.length; i++)
{
if(in_array(self.files[i].type, allowed_file_type))
{
formdata.append('images[]', self.files[i]);
formdata_file_length++;
}
}
$.ajax({
url: '/upload/images',
type: 'POST',
data: formdata,
mimeTypes: "multipart/form-data",
async: true,
contentType: false,
processData: false,
beforeSend: function(){
for(var i = 0; i < formdata_file_length; i++)
{
holder.append('<div class="pond-img col-md-3">'+
'<div class="pond-img-thumb-container">'+
'<a target="_blank"><img class="pond-img-thumb" src="/uploads/web/loading.svg"></a>'+
'</div>'+
'<div class="pond-img-actions">'+
'<a class="pond-img-delete" href="#" title="Silmək"></a>'+
'<a class="pond-img-rotate" href="">↻</a>'+
'<a class="pond-img-rotate" href="">'+
'</div>'+
'</div>');
}
},
success: function(data){
console.log(data);
for(var i = 0; i < data.length; i++)
{
holder.children('.pond-img').eq(i).children('.pond-img-thumb-container')
.children('a').children('img').attr('src', '/'+data[i]);
}
},
error: function(){
// holder.children('.img-loading').remove();
}
})
}
【问题讨论】:
-
尝试添加
error: function(jqxhr, textStatus, errorThrown)而不是只添加error: function(),然后将jqxhr、textStatus和errorThrown登录到控制台,查看是否存在任何错误。 -
@eli [object Object] , parsererror SyntaxError, Unexpected token
-
对象 (jqxhr),可能有一些 responseText (jqxhr.responseText)。它可能包含有关错误的更多信息,因此请尝试将其记录到控制台(或者更好地将其写入 HTML 正文中的某个标记,因为它可以包含 很多 信息)。
-
我找到了解决方案。问题出在php上。谢谢@eli
-
好吧,是 responseText 给了你提示,还是你设法在其他地方找到了类似问题的答案?
标签: javascript jquery ajax laravel jquery-file-upload