ajax只工作一次,然后在单击后停止
ajax only works once then stops after click
我正在尝试加载下一组数据,然后在ajax调用后删除数据。但我只让ajax工作过一次。点击"获取更多报价"后,什么也没发生。
网站:http://kdevs.site40.net/#more(点击获取更多报价)
Ajax:
function getQuotes(start, limit) {
//Clear the recent list element
$(".recent-list").html("");
$.ajax({
url: "quotes.php?start=" + start + "&limit=" + limit,
success: function (data) {
ata = jQuery.parseJSON(data);
console.log("success");
//Data should now be a javascript array of objects.
for (i = 0; i < data.length; i++) {
var newElem = jQuery("<li></li>").attr('id', data[i].id).addClass('quote-wrap-group');
newElem.append("<div class='quote'><p>" + data[i].quote + "</p></div>");
$(".recent-list").append(newElem);
}
}
});
}
$("#more").click(function () {
var currentIndex = 0;
getQuotes(currentIndex = currentIndex + 10, 10);
currentIndex += 10;
});
PHP返回json:
<?php
require("inc/connect.php");
$start = $_GET['start'];
$limit = $_GET['limit'];
$sql = "SELECT * FROM entries ORDER BY id DESC LIMIT ".$start.", ".$limit;
$result = mysql_query($sql, $link) or die("Error in query: ".mysql_error());
$data = array();
while($row = mysql_fetch_array($result)) {
array_push($data, $row);
}
echo(json_encode($data));
?>
我知道这不是PHP,因为:http://kdevs.site40.net/quotes.php?start=0&限制=10个工作。
我做错了什么?
每次单击#more按钮时,都会将currentIndex重置为0,因此基本上总是加载前10条注释
删除var currentIndex = 0;
并将其添加到点击事件函数之外
粗略地看一眼就表明问题出在这里:
$("#more").click(function () {
var currentIndex = 0;
getQuotes(currentIndex = currentIndex + 10, 10);
currentIndex += 10;
});
每次单击#more
时,当前索引都会重置为0;在点击处理程序之外声明currentIndex
,不要重置它。
将currentIndex
初始化从点击处理程序中移出,您将添加两次,更改为:
var currentIndex = 0;
var count = 20;
$("#more").click(function () {
getQuotes(currentIndex, count);
currentIndex += count;
});
相关文章:
- 复选框,然后单击事件处理
- 选择其中一个单选按钮,然后单击“提交”,重定向其他页面
- JS将复选框中的值添加到URL,然后单击转到URL
- 在表中创建带有输入的新行,然后单击保存该输入的值
- 我可以在蜘蛛网的高图表中添加两个轴,然后单击x轴标签导航到另一个页面吗
- 将 Div 类附加到超链接类 — 然后单击时克隆并附加超链接到容器
- Chrome扩展程序获取DOM文本并在弹出窗口中显示.html然后单击按钮
- window.打开一个新页面,然后单击新页面中的链接 - JavaScript
- KNOCKOUTJS 复选框,然后单击父 TD
- 在 ajax 调用中加载日期选择器,然后单击不起作用
- 管理 Shorcut,然后单击 Browser with JQuery
- 创建一个链接,然后单击一个按钮即可单击它
- 从PHP代码加载图像,然后单击时更改主页上的图像
- 查看 json,然后单击该 json 中的 links.json,并将其替换为当前 json 视图
- 从应用程序加载网页,然后单击该页面上的链接
- 单击以打开图像,然后单击以将其关闭
- 鼠标悬停,鼠标退出,然后单击谷歌地图上的同一标记
- React渲染一个组件,然后单击另一个React组件
- Join events按键(带keyCode),然后单击链接
- C#/VB.net,然后单击javascript don'不起作用