Php 如果设置了$#u GET[';submit';],则使用AJAX提交到同一页面并显示内容
我正在建立一个应用程序,其中列出了一些文件。页面底部有一个按钮,上面写着“查看旧文件”,我想用它加载旧文件列表。目前,点击按钮时工作正常;它将重新加载页面,并在设置提交后显示较旧的页面。但是,我宁愿在不重新加载的情况下执行此操作 我将如何使用AJAX来实现这一点?以下是我目前掌握的情况:Php 如果设置了$#u GET[';submit';],则使用AJAX提交到同一页面并显示内容,php,jquery,ajax,Php,Jquery,Ajax,我正在建立一个应用程序,其中列出了一些文件。页面底部有一个按钮,上面写着“查看旧文件”,我想用它加载旧文件列表。目前,点击按钮时工作正常;它将重新加载页面,并在设置提交后显示较旧的页面。但是,我宁愿在不重新加载的情况下执行此操作 我将如何使用AJAX来实现这一点?以下是我目前掌握的情况: <div class="row"> <div class="col-xs-12"> <form method="GET"> &
<div class="row">
<div class="col-xs-12">
<form method="GET">
<input type="submit" name="submit" value="View Older" id="submit" />
</form>
</div>
<div class="col-xs-12 listholder">
<ul class="list-group">
<?php
if( isset($_GET['submit']) ){
$old_directory = 'oldeshots';
$scanned_old = array_diff(scandir($old_directory), array('..', '.'));
foreach ($scanned_old as $key => $value) {
echo '<li class="list-group-item">';
echo "<a href='$value?old=true'>$value</a>";
echo '</li>';
}
} ?>
</ul>
</div>
</div>
我已经使用了jQuery.ajax(),但是我不知道如何设置$\u GET变量。也许我走错了方向?任何帮助都将不胜感激
谢谢getfiles.php:
<?php
$old_directory = 'oldeshots';
$scanned_old = array_diff(scandir($old_directory), array('..', '.'));
echo json_encode($scanned_old);
$('#submit').on('click', function(e){
e.preventDefault();
$.ajax({
url:'getfiles.php',
data: {myvar1: 'value', myvar2: 'value2'}, // You don't need this in this case. But this is how you use it.
dataType: 'json',
success:function(data) {
$.each(data, function(i,value){
$(".list-group").append('<li class="list-group-item"><a href="'+ value +'?old=true">'+value+'</a></li>');
});
}
});
});
您的php文件
<div class="row">
<div class="col-xs-12">
<form method="GET">
<input type="submit" name="submit" value="View Older" id="submit" />
</form>
</div>
<div class="col-xs-12 listholder">
<ul class="list-group">
</ul>
</div>
</div>
}))
getdata.php
<?php
if( isset($_GET['submit']) ){
$old_directory = $_GET['data'];
$scanned_old = array_diff(scandir($old_directory), array('..', '.'));
foreach ($scanned_old as $key => $value) {
echo '<li class="list-group-item">';
echo "<a href='$value?old=true'>$value</a>";
echo '</li>';
}
}
?>
使用jQuery.ajax()时,您可以在调用中设置参数“data”,以指定需要随请求发送的任何键/值对。是否向我们显示当前刷新页面的ajax代码?为了让PHP(如果它在同一个文件中)选择$\u GET['submit']
参数,它将具有刷新页面的功能。(afaik)Ajax可以加载其中的内容,但PHP需要位于外部文件中。因此,如果要使此PHP代码适合Ajax调用,请将所有要发送到PHP scrpt的值添加到数据:{submit:“yes”},例如。GET是jQuery.ajax
调用的默认值,或者您可以将method:POST、
添加到参数列表中
e.preventDefault();
var data = 'oldeshots';
$.ajax( {
type : 'GET',
url:'getdata.php',
data: data,
success:function(data) {
$('ul.list-group').html(data);
}
});
<?php
if( isset($_GET['submit']) ){
$old_directory = $_GET['data'];
$scanned_old = array_diff(scandir($old_directory), array('..', '.'));
foreach ($scanned_old as $key => $value) {
echo '<li class="list-group-item">';
echo "<a href='$value?old=true'>$value</a>";
echo '</li>';
}
}
?>