未显示 Ajax 映像

Ajax images not showing

本文关键字:映像 Ajax 显示      更新时间:2023-09-26

我有一个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">

我已经尝试了各种方法,但没有任何效果:

    使用
  1. document.createElement("img") 方法使用 javascript 动态生成图像标签,并为源等设置属性。

  2. 使用 javascript 来设置 innerHTML。

在所有情况下,我都有正确生成的标签,但我仍然在浏览器中看不到任何东西,只有替代文本。

欢迎任何建议。

您面临的是浏览器的安全功能。实际上,您的浏览器不会跟踪指向本地网页的链接(这意味着file:// URL),因为您正在查看的页面不是本地页面(您不在file://.../.../page.html)。因此,浏览器在网络上看到一个网站试图访问硬盘驱动器上的文件,并出于明显的原因拒绝访问它。

这不是 AJAX 的问题,而是文件链接的问题。我几乎可以保证您的链接以某种方式是错误的。如果您在浏览器的 url 文件中输入文件"file://x:/Image1.jpg"的确切链接,并且没有任何显示,则证明您的文件链接存在问题。