我是jquery和AJAX的新手,在将AJAX响应简单地返回到div
中时遇到了一个非常烦人的问题。
代码
$(document).ready(function() {
$.ajax({
method: "GET",
url: "lists2.php",
cache: false,
dataType: "html",
beforeSend: function() {
$("#sidebar-content").text("Loading..");
},
complete: function() {
$("#sidebar-content").text("");
},
success: function(lists) {
$("#sidebar-content").text(lists);
},
error: function() {
alert("Something went wrong..");
}
});
});
代码激发良好,没有出现错误,Firebug也没有显示错误,如果我放入,例如alert(lists)
而不是.text()
或.html()
,它就会工作并提醒数据。但.text()
或.html()
不起作用。
lists2.php
是一个复杂的文件,它分析来自SQL db
的数据并在引导程序侧边栏中输出内容。它在没有AJAX的旧版本中运行良好。
我做错了什么?
Complete()
在success()
之后激发,并且正在清除您的内容。
完成
请求完成时(在成功和错误之后)要调用的函数执行回调)。该函数传递了两个参数:jqXHR(在jQuery 1.4.x中,XMLHTTPRequest)对象和字符串对请求的状态进行分类("成功"、"未修改"、,"nocontent"、"error"、"timeout"、"abort"或"parserror")。截止日期jQuery1.5,完整的设置可以接受一组函数。每个函数将依次调用。这是一个Ajax事件。
http://api.jquery.com/jquery.ajax/