2013-08-21 15 views
0

我正在学习PHP和jQuery。我有一个名为renderPicture.php的PHP文件,它在HTML IMG标签中返回一个动态创建的图像。我想在我的网页上发生点击事件后更改该图片 - 无需重新加载页面。我知道我需要一个jQuery Ajax调用renderPicture。而且我知道我需要将div的内部HTML设置为该jQuery Ajax调用的结果。我学会了如何在这里设置内部HTML How to replace innerHTML of a div using jQuery?但我不太清楚如何通过AJAX调用来完成此操作。如何使用jQuery将DIV的内部HTML更改为PHP文件的输出

如何使用jQuery将DIV的内部HTML设置为PHP文件的输出?

这里是jQuery和一些HTML的:

<script> 

$(document).ready(function(){ 
    $("#myDIV").click(function(){ 
     //var resultOfAjaxCall = $.ajax({ url: './renderPicture.php',}); 
     $("#myDIV").html(resultOfAjaxCall); //This is roughly what I want to do 
    }); 
}); 

</script> 

</head> 
<div id='myDIV'> 
<?php 
$cryptinstall="./renderPicture.php"; 
include $cryptinstall; 
?> 
</div> 
</html> 

这里是renderpicture.php

<?php 

$cryptinstall="./cryptographp.fct.php"; 
include $cryptinstall; 
if(session_id() == "") session_start(); 
$_SESSION['cryptdir']= dirname($cryptinstall); 
$cfg=0; 
echo "<img id='cryptogram' src='".$_SESSION['cryptdir']."/cryptographp.php?cfg=".$cfg."&".SID."'>"; 
ren 
?> 

回答

3

使用​​:

$(document).ready(function(){ 
    $("#myDIV").click(function(){ 
     $("#myDIV").load('renderPicture.php'); 
    }); 
}); 

这是简写:

$(document).ready(function(){ 
    $("#myDIV").click(function(){ 
     $.ajax({ 
      url: './renderPicture.php', 
      success: function(resultOfAjaxCall) { 
       $("#myDIV").html(resultOfAjaxCall); 
      } 
     }); 
    }); 
}); 

无论何时您想对AJAX调用的结果做些什么,您都必须在回调函数中执行此操作。

+0

谢谢。它做到了 – bernie2436

0

如果我猜测正确,你需要从服务器load()

负载数据和返回的HTML放入匹配元素。

$("#myDIV").load('qualifiedFilePath'); 
0

使用jQuery.get(),使Ajax请求。

$.get('ajax/test.html', function(data) { 
    $('#myDIV').html(data); 
    alert('Load was performed.'); 
}); 
相关问题