使用$ _GET时通过ajax显示数据

时间:2014-03-24 15:24:44

标签: php ajax get

如何根据`$ _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,之后不会更改。

2 个答案:

答案 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);
    });
});