没有显示Ajax图像

时间:2011-05-10 13:22:47

标签: php javascript ajax image

我有一个mysql数据库,用于存储网络驱动器上某些图像的路径。

我认为使用Ajax,我将能够动态生成图像标签,以便在浏览器中显示这些图像,因为每个图像标签都会使用相对于浏览器的路径来提取新的GET请求。

Web服务器有一个小型硬盘,我不想复制所有内容 - 因此无法在服务器上存储大量图像。

我的PHP似乎正确生成了图像标签,但broswer没有显示图像。

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。

  3. 在所有情况下,我都有正确生成的标签,但我仍然没有在浏览器中看到任何内容,只有alt文本。

    欢迎任何建议。

2 个答案:

答案 0 :(得分:1)

您所面对的是浏览器的安全功能。实际上,您的浏览器不会关注指向本地网页的链接(这意味着file://网址),因为您正在查看的网页不是本地网页(您不在file://.../.../page.html)。因此,浏览器会看到网络上的某个网站试图访问您硬盘上的文件,并且由于显而易见的原因拒绝访问该文件。

答案 1 :(得分:0)

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

相关问题