我通过 jQuery AJAX 加载页面内容
$(document).ready(function(){
$('#next').click(function(event){
$.ajax({
url: "load.php?start="+$('#lastid').text(),
success: function(html){
$("#results").append(html);
$("#lastid").empty().load('html #start');
}
});
});
});
在当前文档中,我有 <div id="lastid"></div>
并在外部 php 文件 <div id="start"></div>
中
id="start"的值从数据库更新,并将传输到 id="lastid"。但是,此代码仅适用于第一次单击。默认<div id="lastid">1</div>
,当单击按钮(id="more")时,它将读取 load.php?start=1 并将当前文档更新为 <div id="lastid">11</div>
(这是可见的)。但第二次点击不会加载load.php?start=11
看来$('lastid')
很好地读取了默认值 <div id="lastid"></div>
,但当它被 $("#lastid").empty().load('html #start')
更新时则不会
如何修改此代码以供后续点击使用?
最佳答案
哇,好困惑!让我们清理一下:)
您需要删除 id,因为 id 必须是唯一的,如果您将另一个具有 id lastId 的 div 加载到您的站点中,jQuery 将不知道要获取哪个 id。如果您有很多 div,每个 div 都包含 id,则可以使用 ('div:last').text(); 读取最后一个 id;
所以你的ajax看起来像这样:
$(document).ready(function(){
$('#next').click(function(event){
$.ajax({
url: "load.php",
data: "start="+$('div:last').text()
success: function(html){
$("#results").append(html);
}
});
});
});
我也不知道你对成功的最后一行做了什么,因为应该使用 load 来使用 ajax 从服务器加载数据,你使用 $.ajax() 做了什么。另外 load() 至少需要一个 url 作为参数,参见 here .
关于javascript - 如何通过 jQuery AJAX 更新值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8257709/