0

我正在学习 PHP 和 jQuery。我有一个名为 renderPicture.php 的 PHP 文件,它在 HTML IMG 标记中返回动态创建的图像。我想在我的网页上发生点击事件后更改该图像——而不重新加载页面。我知道我需要一个 jQuery Ajax 调用来渲染图片。而且我知道我需要将 div 的内部 HTML 设置为 jQuery Ajax 调用的结果。我在这里学习了如何设置内部 HTML如何使用 jQuery 替换 div 的内部 HTML?但我不太确定如何使用 AJAX 调用来做到这一点。

如何使用 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
?>
4

3 回答 3

3

使用.load()

$(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 调用的结果做某事时,你必须在回调函数中做。

于 2013-08-21T16:43:31.760 回答
0

如果我猜对了,你需要load()

从服务器加载数据并将返回的 HTML 放入匹配的元素中。

  $("#myDIV").load('qualifiedFilePath');
于 2013-08-21T16:44:50.237 回答
0

用于jQuery.get()发出 ajax 请求。

$.get('ajax/test.html', function(data) {
  $('#myDIV').html(data);
  alert('Load was performed.');
});
于 2013-08-21T16:45:01.437 回答