Ajax交互中,存在图片加载失败问题--已解决

1 篇文章 0 订阅

这几天在学习Ajax的相关知识,在不刷新页面的情况下加载内容以及获取数据,结果搞着搞着就卡bug了。

后来发现问题出在JSON代码中

 

 

可以看到我当前设置图片的路径是相对于JSON这个文件,而不是HTML文件,将path里面的路径放到img中也可以很明显的看出来路径就是相对于这个img所在的HTML文件对于存放图片文件夹的位置,所以只要把路径设置为原本HTML路径就好啦

bug解决啦~~~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在原生Ajax,可以通过创建XMLHttpRequest对象并使用它来发送HTTP请求和接收响应。可以通过设置XMLHttpRequest对象的responseType属性来指定响应数据类型,如文本、JSON、XML等。 要交互图片,可以将响应类型设置为“blob”,然后使用URL.createObjectURL()方法将响应数据转换为Blob URL,最后将其设置为<img>元素的src属性即可。 以下是一个简单的示例代码,用于通过Ajax加载图片: ``` var xhr = new XMLHttpRequest(); xhr.open('GET', 'path/to/image.jpg', true); xhr.responseType = 'blob'; xhr.onload = function() { if (this.status === 200) { var blob = this.response; var img = document.createElement('img'); img.onload = function(e) { URL.revokeObjectURL(img.src); // 释放内存 }; img.src = URL.createObjectURL(blob); // 将响应数据设置为Blob URL document.body.appendChild(img); // 添加到文档 } }; xhr.onerror = function() { console.log('图片加载失败!'); }; xhr.send(); ``` 上述代码,首先创建XMLHttpRequest对象,然后设置响应类型为“blob”,并通过调用send()方法发送HTTP请求。 当响应数据加载完成后,将其保存在一个Blob对象,然后创建一个<img>元素,将Blob URL设置为其src属性,并将其添加到文档。最后,使用URL.revokeObjectURL()方法释放内存。 需要注意的是,Blob URL是一种临时URL,仅在当前窗口有效,关闭窗口后将自动释放。因此,如果需要长时间保留图片,应该将其保存为本地文件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值