【问题标题】:Ajax request not works when more files uploaded上传更多文件时,Ajax 请求不起作用
【发布时间】: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(),然后将jqxhrtextStatuserrorThrown 登录到控制台,查看是否存在任何错误。
  • @eli [object Object] , parsererror SyntaxError, Unexpected token
  • 对象 (jqxhr),可能有一些 responseText (jqxhr.responseText)。它可能包含有关错误的更多信息,因此请尝试将其记录到控制台(或者更好地将其写入 HTML 正文中的某个标记,因为它可以包含 很多 信息)。
  • 我找到了解决方案。问题出在php上。谢谢@eli
  • 好吧,是 responseText 给了你提示,还是你设法在其他地方找到了类似问题的答案?

标签: javascript jquery ajax laravel jquery-file-upload


【解决方案1】:

我找到了解决方案。 ajax 没有任何问题。 需要更改 php.ini 中的 max_file_upload 和 post_max_size=0。 并检查您更改了哪个 php.ini,因为有不同的 php 版本文件夹 在你的 php 文件夹中。命令行检查php版本php -v

【讨论】:

    猜你喜欢
    • 2017-09-08
    • 1970-01-01
    • 1970-01-01
    • 2014-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-17
    • 1970-01-01
    相关资源
    最近更新 更多