You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel项目中Ajax上传图片后无法无刷新在表格显示求助

解决Laravel Ajax上传后无刷新显示图片的问题

嘿,我一眼就看出问题出在哪了——你现在的成功回调里只是把data.image直接塞进表格单元格,这本质上只是一段纯文本(比如图片的文件名),浏览器根本不会把它当成图片来渲染。咱们只需要把这段文本包装成<img>标签,指向你存储图片的public/images目录就行。

修改后的成功回调代码

success:function(data) { 
    $('.error').remove(); 
    // 先构建图片标签:假设data.image返回的是纯文件名(比如xxx.jpg)
    const imageElement = `<img src="/images/${data.image}" alt="${data.name}" style="width: 70px; height: auto; object-fit: cover;">`;
    
    $('#table').append(`
        <tr class='post${data.id}'>
            <td>${data.id}</td>
            <td>${data.name}</td>
            <td>${data.bank_name}</td>
            <td>${data.bankbranch_location}</td>
            <td>${imageElement}</td>
            <td>${data.created_at}</td>
            <td>
                <button class='show-modal btn btn-info btn-sm' data-id='${data.id}' data-bank_id='${data.bank_name}' data-bankbranch_id='${data.bankbranch_location}' data-name='${data.name}' data-phone='${data.phone}'>
                    <span class='fa fa-eye'></span>
                </button> 
                <button class='edit-modal btn btn-warning btn-sm' data-id='${data.id}' data-bank_id='${data.bank_name}' data-bankbranch_id='${data.bankbranch_location}' data-name='${data.name}' data-phone='${data.phone}'>
                    <span class='glyphicon glyphicon-pencil'></span>
                </button> 
                <button class='delete-modal btn btn-danger btn-sm' data-id='${data.id}' data-bank_id='${data.bank_name}' data-bankbranch_id='${data.bankbranch_location}' data-name='${data.name}' data-phone='${data.phone}'>
                    <span class='glyphicon glyphicon-trash'></span>
                </button>
            </td>
        </tr>
    `); 
}

关键细节说明:

  • 核心改动:把原本的data.image替换成了完整的<img>标签,src属性用/images/${data.image}——因为Laravel会把public目录作为网站根目录,这个路径能直接指向你存在public/images里的图片。
  • 我换成了ES6模板字符串(反引号`)来拼接HTML,比你原来的字符串拼接更清晰,也不容易因为引号嵌套出错。
  • 给图片加了基础样式(固定宽度、自适应高度、保持比例),你可以根据自己的需求调整样式参数。
  • 如果你的后端返回的data.image已经是完整的相对路径(比如images/xxx.jpg),那直接把src改成${data.image}就行。

额外要检查的点:

  1. 确认后端返回的data.image是正确的文件名/路径,没有多余的字符或者路径错误。
  2. 检查public/images目录的权限,确保服务器能正常读取里面的图片文件。
  3. 如果是本地开发遇到缓存问题,可以给图片URL加个时间戳(比如/images/${data.image}?t=${new Date().getTime()}),强制浏览器加载最新的图片。

内容的提问来源于stack exchange,提问作者nawshin.ahmed

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 07:14:53