希望JS函数使用ajax运行PHP,然后在页面上输出PHP


Want JS function to use ajax to run PHP and then output PHP on page

我正在尝试让javascript运行一些PHP代码,然后将PHP代码的结果打印在页面上。我发现了一些使用ajax实现这一点的代码,并将PHP代码放在一个外部文件中。我发现的代码似乎在"警报"对话框中运行PHP代码,我不知道如何让它在当前页面上显示PHP的输出。

我是新手,所以学习,"成功"功能有警报(响应),所以我知道它为什么要做警报;但我正试图让它打印在页面上,但无法做到这一点…

这是我的ajax JS:

<script type="text/javascript">
var answer = "gman wants a function to run php";
$.ajax({
type: 'GET',
url: 'http://jba.gtdsites.com/script.php',
data: 'answer=' + answer,
success: function(response) {
    alert(response);
}
});
</script>

这是外部PHP文件(script.PHP):

<?php
if (!empty($_SERVER['HTTP_X_REQUESTED_WITH']) 
    && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest'
) {
    // AJAX request
    $answer = $_GET['answer'];
    echo "answerswer is: " . $answer;
    ?>
    <br/>
    <?php
    echo "<br/>this is working.";
    // ...
}
?>

我读了很多书,试图弄清楚这一点,但没有把要点联系起来,也没有取得任何进展;所以我想知道是否有人能告诉我如何让它只在页面上输出PHP内容,而不是发出警报?

非常感谢。。。

如果您的文档中有一个id为"ajax_content"的div,请替换

alert(response);

带有

$('#ajax_content').html(response);

您可以在所需的html元素中附加/替换ajax响应。就像你想打印的html元素是:

<div id="div-to-print-ajax-response"></div>

那么你的JS函数会是这样的:

<script type="text/javascript">
var answer = "gman wants a function to run php";
$.ajax({
type: 'GET',
url: 'http://jba.gtdsites.com/script.php',
data: 'answer=' + answer,
success: function(response) {
    $('div-to-print-ajax-response').html(response);
}
});
</script>