用户提问
我的页面的代码如下,jquery-1.4.2.min.js导入没有问题,本来这个文件和jquery-1.4.2.min.js是放在webroot目录下的,可以正常运行。
但是我把这两个文件一起放在一个名为test的文件夹下后$.ajax(...)就像没有执行一样,服务器端一点反应都没有(根本就没有访问TestServlet),浏览器的地址栏里只是在路径的末尾加了个#号,没有什么变化,也就是说,页面只是调回本页面而已。 alert("in test");和alert("end");都被执行了,就是中间的$.ajax没有执行
$(document).ready(function() {
var age=0;
alert("in test");
$("a").click(function() {
alert("click");
$.ajax({
type: "GET",//http请求方式
url: "TestServlet",//服务器端url地址
data: "name=weager"+"&age="+age,//发送给服务器端的数据
dataType: "json",//告诉JQuery返回的数据格式(例如xml、json、jsonp、script等)
success: callback //当请求操作完成数据正确返回时调用callback函数。此处的ajax参数还可以有:complete、success、error。complete是指readystate==4时;success是指state==200时;error是指相应出错或者解析服务器数据出错。
//error: function(data){alert(data);}
});
alert("end");
});
});
function callback(data){
alert("call back 被调用!")
alert(data.age);
$("div").html(data.age);
}
请哪位有经验的ajax高手指点!
推荐答案
是因为缓存的原因, $.ajax({ type: "GET",//http请求方式 url: "TestServlet",//服务器端url地址 cache: false; //禁用缓存
辅助答案
用户:bbs970056782
2010年05月10日
$("a").click(function()
这个a代表什么
用户:飞啊飞啊飞
2010年05月13日
data应该是json格式。不是"name=weager"+"&age="+age
用户:酒干偿卖无
2010年05月13日
$(document).ready(function() {
var age=0;
$("a").onclick = $.ajax({
type: "GET",//http请求方式
url: "CommServlet",//服务器端url地址
data: "name=weager"+"&age="+age,//发送给服务器端的数据
dataType: "json",//告诉JQuery返回的数据格式(例如xml、json、jsonp、script等)
success: callback //当请求操作完成数据正确返回时调用callback函数。此处的ajax参数还可以有:complete、success、error。complete是指readystate==4时;success是指state==200时;error是指相应出错或者解析服务器数据出错。
//error: function(data){alert(data);}
});
alert("end");
});
这样修改一下。但是不是很通用啊。你可以单独在写个方法重构一下。
用户:逆水寒让生名流动
2010年04月30日
是因为缓存的原因,
$.ajax({
type: "GET",//http请求方式
url: "TestServlet",//服务器端url地址
cache: false; //禁用缓存