如何根据`$ _GET'显示数据,也就是说不刷新页面?
我有这个例子,每当我点击add
(增加1)时它会显示正确的结果,但当然它总是先刷新页面。
如果没有可见的页面刷新,使用ajax?
,如何使它做同样的事情php和html
if (isset($_GET['add'])) {
$_SESSION['numbers']++;
}
echo $_SESSION['numbers'];
?>
<br>
<a href="test.php?add" class="add">add</a>
<div id="response"></div>
如果我想通过post
从数据库中提取并打印出来的东西,我会做这样的事情:
$.post('print_something.php', function(response) {
$('#response').html(response);
});
但是我如何更改get,因为URL中有东西加上会话?
修改
我试过这个,我从当前脚本中删除了所有的php,将其添加到get.php
,现在是这样的:
session_start();
if (isset($_GET['add'])) {
$_SESSION['numbers']++;
}
echo $_SESSION['numbers'];
在我的主index
脚本中,我有这个:
$('a.add').click(function() {
$.get('get.php', function(response) {
$('#response').html(response);
});
return false;
});
现在每次点击add
时它都不会增加,它只是第一次显示1
,之后不会更改。
答案 0 :(得分:0)
您没有将add
参数传递给$.get
,因此isset($_GET['add'])
为false。将add
添加到您的ajax调用
$.get('get.php', {add:true}, function(response) {
$('#response').html(response);
});
我放{add:true}
,但true
可以是任何内容,因为您只检查它是否已设置,而不是值
或者,您也可以将其添加到您的网址
$.get('get.php?add=true', function(response) {
$('#response').html(response);
});
答案 1 :(得分:0)
请查看以下示例代码:
$('a.add').click(function(e) {
e.preventDefault();
var request = $.ajax({
url:"get.php", //Please provide the absolute URL to avoid errors.
type:"GET",
data:""
});
request.done(function(response){
$("#response").empty().html(response);
});
});