未显示 Ajax 映像
Ajax images not showing
我有一个mysql数据库,它将一些图像的路径存储在网络驱动器上。
我认为使用 Ajax,我将能够动态生成图像标签以在浏览器中显示这些图像,因为每个图像标签都会使用相对于浏览器的路径来识别一个新的 GET 请求。
Web服务器有一个小HDD,我不想复制所有内容 - 因此无法在服务器上存储大量图像。
我的PHP似乎正确生成了图像标签,但是浏览器不显示图像。
PHP代码:
$sql = "SELECT ID,Link FROM tblStorePictures WHERE StoreNumber = $sto";
$result = mysql_query($sql,$dblink) or die(mysql_error());
$row = mysql_fetch_array($result);
$id = $row['ID'];
echo "<img src='file://".$row['Link']."' alt='Image' id=$id>";
图像标签(如在Firebug中查看的那样)最终看起来像这样:
<img id="57" alt="Image" src="file://x:/Image1.jpg">
我已经尝试了各种方法,但没有任何效果:
- 使用
document.createElement("img") 方法使用 javascript 动态生成图像标签,并为源等设置属性。
使用 javascript 来设置 innerHTML。
在所有情况下,我都有正确生成的标签,但我仍然在浏览器中看不到任何东西,只有替代文本。
欢迎任何建议。
您面临的是浏览器的安全功能。实际上,您的浏览器不会跟踪指向本地网页的链接(这意味着file://
URL),因为您正在查看的页面不是本地页面(您不在file://.../.../page.html
)。因此,浏览器在网络上看到一个网站试图访问硬盘驱动器上的文件,并出于明显的原因拒绝访问它。
这不是 AJAX 的问题,而是文件链接的问题。我几乎可以保证您的链接以某种方式是错误的。如果您在浏览器的 url 文件中输入文件"file://x:/Image1.jpg"的确切链接,并且没有任何显示,则证明您的文件链接存在问题。
相关文章:
- 如何使jQuery中的悬停函数单独应用于数据库映像
- 无法在Safari中加载跨源映像(来自CloudFront)
- 有没有一种方法可以从chrome'的存储映像
- 如何在不必维护每个文件的两个版本的情况下,将通用JavaScript和映像部署到两个不同的EAR
- 在使用 Django 静态文件时动态设置映像时,只有绝对路径才能与 jquery 一起使用
- 获取我的数组中的每个 ID 映像 src
- 映像选取器在初始化时预选项
- 循环映像 IE7 问题
- 本地映像对象未在Javascript中正确初始化
- PHP抓取没有扩展的远程映像
- 如何在ASP.NET Response.BinaryWrite生成的Javascript中处理字节数组映像
- 用于确定 DOM 和映像是否在 AJAX 调用 .load 中加载的函数
- 使用 AJAX 预加载映像
- 使用 AJAX 或服务器端加载映像
- 使用 AJAX 从跨源服务器检索映像
- 复制不适用于 ajax 的映像代码
- 如何停止Ajax映像加载调用新函数
- 等待 AJAX 响应后加载映像
- 为什么可以直接访问服务器上的映像,但需要将 AJAX 用于其他文件类型
- 未显示 Ajax 映像