想要JS函数使用ajax运行PHP然后在页面上输出PHP

时间:2014-09-04 20:11:14

标签: javascript php ajax

我正在尝试让javascript运行一些PHP代码,然后从页面上的PHP代码打印结果。我找到了一些使用ajax执行此操作的代码,并将PHP代码放在外部文件中。我发现的代码似乎在" alert"中运行PHP代码。对话框,我无法弄清楚如何让它只显示当前页面上的PHP输出。

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

这是我的JS与ajax:

<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 "answer is: " . $answer;
    ?>
    <br/>
    <?php
    echo "<br/>this is working.";
    // ...
}
?>

我一直在阅读很多想要解决这个问题,但没有连接点而没有到达任何地方;所以我想知道是否有人可以告诉我如何让它只是输出页面上的PHP内容而不是做警报?

非常感谢...

2 个答案:

答案 0 :(得分:2)

如果您的文档中包含id,其中包含id&#39; ajax_content&#39;只需替换

alert(response);

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

答案 1 :(得分:0)

您可以在所需的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>