Jquery Ajax每个函数都返回double

时间:2012-10-30 10:31:02

标签: php jquery

我有一个Jquery函数,它基本上从数据库中检索用户列表并将信息插入到div中。问题是我得到双重结果,这是我第一次从数据库中检索,我只发送过数据库..任何帮助都将非常感谢。

谢谢:)

继承人Jquery代码:

$(function () {
    $.ajax({                                      
        url: 'data.php', 
        data: "", 
        dataType: 'json',  
        success: function(rows) {
            for (var i in rows) {
                var row = rows[i];          
                var id = row[0];
                var name = row[1];
                var mobile = row[2];
                var address = row[3];
                var email = row[4];

                $.each(rows, function() {
                    $('#contain').append('<div id="name">' + '<span>' + name + '</span>' + '</div>' + '<div id="id">' + id + '</div>' + '<div id="mobile">' + mobile + '</div>' + '<div id="address">' + address + '</div>' + '<div id="email">' + email + '</div>');
                });
            } 
        } 
    });
}); 

和PHP:

$result = mysql_query("SELECT * FROM $tableName");
$data = array();
while ( $row = mysql_fetch_row($result) )
{
    $data[] = $row;
}
echo json_encode( $data );

1 个答案:

答案 0 :(得分:2)

我认为问题在于:

$.each(rows, function (){
     $('#contain').append('<div id="name">'+'<span>'+name+'</span>'+'</div>'+'<div id="id">'+id+'</div>'+'<div id="mobile">'+mobile+'</div>'+'<div id="address">'+address+'</div>'+'<div id="email">'+email+'</div>');
});

你应该做的只是

$('#contain').append('<div id="name"><span>'+name+'</span></div><div id="id">'+id+'</div><div id="mobile">'+mobile+'</div><div id="address">'+address+'</div><div id="email">'+email+'</div>');