使用按钮单击ajax获取新数据

时间:2013-11-14 11:28:02

标签: jquery ajax

单击按钮时,我需要有关如何刷新数据的帮助。每次点击按钮时,它正在做的是重复。请帮忙。

这是我的jquery代码

$(document).ready(function() {
$('#button1').click(function(event) {
    $.ajax({
        url : 'http://localhost/api/eric_api.php?q=series',
        type : 'GET',
        dataType : 'json',
        success : function(data) {
            var table = $("#list");
            $.each(data, function(idx, elem) {
                table.append("<tr><td>" + elem.user + "</td></tr>");
            });

        },
        error : function() {
            alert('There was an error');
        }
    });
});
 });

我的HTML代码是

<?php include 'eric_api.php'; ?>

<!DOCTYPE html>


<html>
<head>
    <title></title>
    <script src="js/jquery.js"></script>
    <script src="js/api_calls.js"></script>
    <link rel="stylesheet" href="css/normalizer.css" />
    <link rel="stylesheet" href="style.css" />
</head>

<body>
    <div>
        <table id="list"></table>
    </div>
    <div>
        <button id="button1">Get Data</button>
    </div>
</body>

我正在获得正确的数据返回我只是想刷新数据和重复的值级联我的页面。感谢。

3 个答案:

答案 0 :(得分:1)

这只是一个猜测,但当然你必须删除旧的条目,如:

       table.empty();
       $.each(data, function(idx, elem) {
            table.append("<tr><td>" + elem.user + "</td></tr>");
        });

答案 1 :(得分:0)

试试这个..您应该清除旧数据以附加新数据

 $('#button1').click(function(event) {
    $("#list").empty();//Clear old data before ajax
    $.ajax({
        url : 'http://localhost/api/eric_api.php?q=series',
        type : 'GET',
        dataType : 'json',
        success : function(data) {
            var table = $("#list");
            $.each(data, function(idx, elem) {
                table.append("<tr><td>" + elem.user + "</td></tr>");
            });

        },
        error : function() {
            alert('There was an error');
        }
    });
});

答案 2 :(得分:0)

试试这个

 success : function(data) {
    var table = $("#list");
    table.html(''); // empty table on success
    $.each(data, function(idx, elem) {
       table.append("<tr><td>" + elem.user + "</td></tr>");
    });
}