【发布时间】:2011-03-30 13:26:02
【问题描述】:
我有一些 jQuery,在单击类'changetag' 的链接时触发。我正在使用$.ajax() 通过changetag.php 更新数据库。
然后我通过在开/关之间切换类来更改链接的视觉外观。代码如下:
$(function() {
$(".changetag").click(function(){
var element = $(this);
var I = element.attr("id");
var info = 'switch_tag=' + I;
$.ajax({
type: "POST",
url: "_js/changetag.php",
data: info,
success: function(){}
});
$("#li_"+I).toggleClass("off on");
element.toggleClass("off on");
return false;
});
});
完美运行。但现在我想添加第二个 PHP 调用,如果上述操作成功,它将提取数据并更新页面的另一个区域。
我要补充的是:
$.ajax({
url: "_js/loaddata.php",
success: function(results){
$('#listresults').empty();
$('#listresults').append(results);
}
});
但只是将其添加到成功中:function(){} 似乎不起作用。为了澄清,这是我正在测试的完整代码:
$(function() {
$.ajaxSetup ({cache: false});
$(".changetag").click(function(){
var element = $(this);
var I = element.attr("id");
var info = 'switch_tag=' + I;
$.ajax({
type: "POST",
url: "_js/changetag.php",
data: info,
success: function(){
$.ajax({
url: "_js/loaddata.php",
success: function(results){
$('#listresults').empty();
$('#listresults').append(results);
}
});
}
});
$("#li_"+I).toggleClass("off on");
element.toggleClass("off on");
return false;
});
});
PHP 脚本都被成功调用并且切换类工作,但由于某种原因,提取的数据没有写入#listresults。
【问题讨论】:
-
怎么不工作了?你有错误吗?你的结果变量是返回数据吗?
-
尝试链接它们 - $.ajax({}).ajax({});
-
@partick @elad-lachmi 实际上两个调用似乎都成功了,我认为它只是 $('#listresults').empty();和 $('#listresults').append(results);无法更新页面
-
结果是 html 字符串吗?我相信 append 需要接受一个 DOM 元素、html 字符串等。它不能只接受任何类型的内容。
-
没有理由先
.empty()然后.append()。就做$('#listresults').html(results);
标签: javascript ajax jquery