jQuery ajax creating infinite loop



我正在尝试通过jQuery ajax显示Mysqli数据库中的数据,但无论我如何修改代码,我总是得到一个无限循环。有没有人在发出 ajax 请求时遇到过类似的情况?

下面是 jQuery 代码:

$(document).ready(function() {
$("#addList").on('click', function () {
saveList('addNew');
});
displayLists(0,10);
});
function displayLists(start, limit) {
$.ajax({
url:'http://localhost/acl/ajax.php',
method:'POST',
dataType:'text',
data: {
key:'displayLists',
start:start,
limit:limit
}, success: function(response) {
if(response != 'reachedMax') {
$('#zaListeProstor').append(response);
start += limit;
displayLists(start, limit);
} 
}
})  
}

这是PHP代码:

if($_POST['key'] == 'displayLists') {
$individual_user_id = $_SESSION['user_id'];
$start = clean($_POST['start']);
$limit = clean($_POST['limit']);
$sql = "SELECT * from liste WHERE lista_author = $individual_user_id LIMIT $start, $limit";
$select_all_lists = query($sql);
if(row_count($select_all_lists) > 0) {
$response = "";
while($row = fetch_array($select_all_lists)) {
$response .= '
<tr>
<td>'.$row["lista_name"].' </td>
<td> <input type="button" value="View List" class="btn btn-primary"> </td>
</tr>
';

} 
exit($response);
} else {
exit('reachedMax');
}
}

这是我在上面看到的数据库的函数:

function row_count($result){
return mysqli_num_rows($result);
}

function escape($string) {
global $con;
return mysqli_real_escape_string($con, $string);

}
function confirm($result) {
global $con;
if(!$result) {
die("QUERY FAILED" . mysqli_error($con));
}
}

function query($query) {
global $con;
$result =  mysqli_query($con, $query);
confirm($result);
return $result;

}


function fetch_array($result) {
global $con;

return mysqli_fetch_array($result);

} 

响应是 html 更改数据类型和响应标头

function displayLists(start, limit) {
$.ajax({
url:'http://localhost/acl/ajax.php',
method:'POST',
dataType:'HTML',
data: {
key:'displayLists',
start:start,
limit:limit
}, success: function(response) {
if(response != 'reachedMax') {
$('#zaListeProstor').append(response);
start += limit;
displayLists(start, limit);
} 
}
})  
}

设置 AJAX.php响应标头

header('Content-type: text/javascript,text/html');

最新更新