ajax:获取图像作为对php文件的响应

时间:2013-10-18 16:16:46

标签: javascript php jquery html ajax

所以我有一个带链接的基本php页面,当用户点击“gallery”链接时,我想要显示内容的主div来加载图像网格。

这是我正在做的示例代码:

myreq = new XMLHttpRequest();

myreq.open("GET","my gallery.php",true);
myreq.send(null);
myreq.onreadystatechange = function(){


if (myreq.readyState == 4)
{       
    $("#maindiv").html(myreq.responseText);
}
} 

我在div中收到了图库文件,但我得到的是标签,而不是获取图片本身。

我得到了:

img src=url alt=text etc

简而言之,我收到文件中的文字。

2 个答案:

答案 0 :(得分:0)

我认为您使用的是jQuery,您应该尝试使用jQuery而不是所有代码:

$( "#mainDiv" ).load("my gallery.php");

将远程文件中的所有HTML放入#mainDiv元素中。

答案 1 :(得分:0)

您可以通过两种方式处理此问题:

  1. 以这种方式修改您的PHP代码,它返回:

    <img src="image.jpg" alt="Image" />
    

    并使用此代码:

    $("#mainDiv").load("my gallery.php");
    
  2. 否则,你可以这样做。以这种方式修改您的PHP代码,它返回一个图像并以这种方式更改JavaScript:

    $("#mainDiv").html('<img src="my gallery.php" alt="Image" />');
    
  3. ps:正如大家所说,如果您使用的是jQuery,请使用jQuery的$.ajax或其函数,而不是使用XHR!