我正在尝试让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>