Javascript 使用Ajax和SQL时,数据库中的图像不会显示在我的HTML中
我需要帮助检索我上传到数据库的图像,以显示在我的HTML中。如果有人能帮助我,我将不胜感激 这是我的Ajax代码Javascript 使用Ajax和SQL时,数据库中的图像不会显示在我的HTML中,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我需要帮助检索我上传到数据库的图像,以显示在我的HTML中。如果有人能帮助我,我将不胜感激 这是我的Ajax代码 $(document).ready(function() { $.ajax({ url:"../controller/image.php", dataType:"json", type:"POST", data:{ method:"getall" }, su
$(document).ready(function() {
$.ajax({
url:"../controller/image.php",
dataType:"json",
type:"POST",
data:{
method:"getall"
},
success: function(resp) {
console.log(resp);
for(var i = 0; i<resp.length; i++){
var img = document.createElement("img");
var div = document.createElement("div");
var h = document.createElement("h4");
img.innerHTML = img.src + ":"+resp[i].title;
img.onclick = function() {
console.log(resp);
}
}
}
});
});
我已经将我的图像加载到数据库中,我可以通过控制台看到它们是它们的。。但是看不见他们。谢谢。试试这个jquery方法,在for循环中添加图像
$('id').append('<img id="image" src="+resp[i].image+" />')
$('id')。追加(“”)
或者,如果仍然面临问题,请检查图像路径
您必须使用base64编码的图像数据才能做到这一点。你可以找到有问题的例子。为方便起见,以下是一个示例:
$(document).ready(function() {
$.ajax({
url:"../controller/image.php",
dataType:"json",
type:"POST",
data:{
method:"getall"
},
success: function(resp) {
for(var i = 0; i<resp.length; i++){
var img = document.createElement('img');
img.src = "data:image/png;base64," + resp[i].data;
document.body.appendChild(img);
}
}
});
根据你的新评论,我有另一个答案:
img.innerHTML = img.src + ":"+resp[i].title;
相反,您必须填写src
属性:
img.src = resp[i].link
document.createElement
)不会将其插入页面,而是只在内存中创建。要显示创建的图像,必须将它们添加到任何页面元素中。从示例到页面正文:
document.body.appendChild(img)
或任何其他元素,通过选择它:
document.getElementById('imagesWrapper').appendChild(img)
链接中
img.innerHTML=img.src+“:”+resp[i]。标题;我也知道这行的一部分是错误的,但我不认为这行是问题,除非它是,我错过了一些东西谢谢你,但我这里有一个图像上传器,有一个单独的页面,显示所有上传的照片从谁登录和上传图片,所以我不确定当用户插入路径时如何确保这些图像是base64编码的
document.body.appendChild(img)
document.getElementById('imagesWrapper').appendChild(img)