2011-11-22 27 views
0

我有一个与AJAX相关的问题。我正在实现AJAX,并且它已成功实施,但我坚持了这一点。如何向服务器发送AJAX呼叫

当用户点击特定图像时,我想要发送到服务器的请求,服务器应该返回图像。我知道服务器将如何返回映像,但不知道将发送到服务器的密钥应该是什么,以便服务器识别特定的映像请求。这里是前端的代码:

<?php 
$con = mysql_connect("localhost:3306","root","root"); 
if (!$con) 
    { 
     die('Could not connect: ' . mysql_error()); 
    } 
    else 
     { 
      mysql_select_db("uploading", $con); 
      $sql_get=mysql_query("select * from imge"); 
      while ($db_field=mysql_fetch_assoc($sql_get)) 
       { 
        $img_urls=$db_field["link"]; 
        ?> 
       <img onclick="ajaxFunction()" id="<? echo $img_urls; ?>" src="<?php echo $img_urls; ?>" style="width: 200px;height: 200px;border-style: solid;border-color: blue"/> 
<!--   <a href="view.php?next=<?php echo $img_urls; ?>">View</a>--> 

<?php 
      } 
     } 
?> 
     <script type="text/javascript"> 
      function ajaxFunction() 
      { 
       var xmlHttp; 
       try { // Firefox, Opera 8.0+, Safari 
        xmlHttp=new XMLHttpRequest(); 
       } catch (e) { // Internet Explorer 
        try { 
         xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); 
        } 
        catch (e) { 
         try { 
          xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); 
         } catch (e) { 
          alert("Your browser does not support AJAX!"); 
          return false; 
         } 
        } 
       } 

       xmlHttp.onreadystatechange=function() { 
        if(xmlHttp.readyState==4) 
        { 
         document.getElementById("div").innerHTML=xmlHttp.responseText 

        } 
       } 

       xmlHttp.open("GET","server_image.php?url=<?php echo $img_urls ?>",true); 
       xmlHttp.send(null); 
      } 
</script> 
       <p id="div"></p> 

回答

1

这是一个经典的“味道像阿贾克斯,但不是”的问题。你想要做的只是将图像的src属性更改为将返回图像数据的东西。

+0

但作为回应,我必须显示图像,并且当用户点击图像时,点击图像的请求应发送到服务器,并返回服务器应返回image_url – Zain

+0

如果图像显示在浏览器中,您已经有了图片的网址。只需在onclick处理程序中提醒this.src即可。 – Jonathan

+0

图像在用户点击视图链接时加载一次,它们不通过Ajax调用加载 – Zain