在 ajax 调用后将图像加载到视图中

loading image into view after ajax call

这是我 运行 刚才遇到的问题。我的 laravel 应用程序有一个聊天功能部分,可以在用户输入对话时加载相应的用户图像。我无法弄清楚的是,当我将个人资料图片的 url 附加到视图中时,它实际上不会显示图片,它只会显示图片应该放在的位置 "placeholder"。

我知道代码是有效的,因为我可以在控制台日志中看到资产文件夹中图片的正确路径。

所以我的问题是如何在从 ajax 调用中检索信息后显示图片。

$('.chat-wrapper').append(
                    "<div class='message " + sent + "'>" +
                    "<div class='media-left'>" +
                    "<a href=''><img scr=" + data.profilePicture + " class='img-circle img-50x50' title=''></a>" +
                    "</div>" +
                    "<div class='media-body'>" +
                    "<small class='small-gray p-l-10 pull-right'>" + data.time + "</small>"+
                    "<div class='heading'>" +
                    "<span>"+data.authorUserName+"</span>" +
                    "</div>" +
                    "<p>" + messageText + "</p>" +
                    "</div>" +
                    "</div>"
            );

提前感谢您的帮助!

这通常是因为您所在的路线没有正确代表基地 URL。

您可以使用 asset() 辅助函数将 URL 构建到相对于服务器上 public 目录的资产文件夹。

https://laravel.com/docs/5.3/helpers#method-asset

$('.chat-wrapper').append(
                "<div class='message " + sent + "'>" +
                "<div class='media-left'>" +
                "<a href=''><img src='" + data.profilePicture + "' class='img-circle img-50x50' title=''></a>" +
                "</div>" +
                "<div class='media-body'>" +
                "<small class='small-gray p-l-10 pull-right'>" + data.time + "</small>"+
                "<div class='heading'>" +
                "<span>"+data.authorUserName+"</span>" +
                "</div>" +
                "<p>" + messageText + "</p>" +
                "</div>" +
                "</div>"
        );

src 拼写不正确,然后注意 src 后面的引号和 src 的结尾,试试这个。