我想调用并执行一段位于外部文件上的PHP代码。我理解这样做的方式涉及jQuery。到目前为止,这是我的代码:
<html>
<head>
<title>test</title>
</head>
<body>
<script src="jquery.js"></script>
<script language="javascript" type="text/javascript">
$.post("ext.php", { name: "John", time: "2pm" })
.done(function(data) {
alert("Data Loaded: " + data); });
$(document).ready(function(){
$(this).load('ext.php');});
</script>
</body>
这是外部文件(ext.php):
<?php
echo $_POST['name'] . ' and- ' . $_POST['time'];
?>
代码应在屏幕上(以及弹出窗口中)打印变量name
和time
。弹出窗口工作正常,但代码不会在屏幕上打印变量。
谢谢:)
答案 0 :(得分:4)
如果您已经知道,请原谅我,但如果您不知道:
您在示例中使用$.post()
,这是$.ajax()
jQuery方法的简化形式。我建议使用这种更简单(但更大)的格式,直到你对AJAX非常有信心。 $.ajax()
还允许您执行比简化(快速)$.post
方法更多的操作。
我添加了几个输入框,供您输入一些信息。此外,你需要一个地方把东西放在屏幕上,所以我为此创建了一个DIV。
Ajax将数据发布到外部php文件,该文件处理收到的数据并发回答案。它看起来像这样:
文件#1:
<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$('#mybutt').click(function() {
var nom = $('#yername').val();
var tim = $('#thetime').val();
$.ajax({
type: "POST",
url: "receiving_file.php",
data: 'name=' + nom + '&time=' +tim,
success:function(data){
alert('This was sent back: ' + data);
$('#report').html(data);
}
}); //END ajax
}); //END click fn
}); //END document.ready
</script>
</head>
<body>
Name: <input type="text" id="yername"><br>
Time: <input type="text" id="thetime"><br><br>
<input type="button" id="mybutt" value="Go">
<br><Br>
<div id="report"></div>
文件#2:receiving_file.php
<?php
echo 'You entered: ' . $_POST['name'] . ' and- ' . $_POST['time'];
答案 1 :(得分:0)
您可以按照我认为的方式使用帖子:
$(document).ready(function () {
$(this).load('ext.php', {
name: "john",
time: "2pm"
}, function (data) {
$('body').append(data);
});
});
答案 2 :(得分:0)
试试这个:
<script type="text/javascript">
$(document).ready(function(){
$.post("ext.php", { name: "John", time: "2pm" }).done(function(data) {
alert("Data Loaded: " + data);
$('body').html(data);
});
});
</script>