求教ajax问题, 高手进来点拨一下。我现在一个页面, 内容很长, 图片很多;该页面,有一个ajax是用来搜索提示用的。 可是我现在碰到一个问题,我刷新一下该页面,如果页面整个未加载完成时,我无论输入什么,ajax都不返回数据,搜索没有提示. 非要等整个页面加载完成了,ajax搜索提示就出来了。 明显是要等页面加载完成,ajax才开始返回数据。 有些用户, 喜欢一进来,就已经开始搜索了。 这时候往往页面还未加载完成,用户是没有搜索提示的。我用的是jquery 的ajax 此js在head区,和页面头部加载都试过了, 无论放在哪个位置,也非得页面加载完成,才能交互数据。
$.post("seach.php", {Action: "post",queryString: ""+inputString+""}, function(data){
alert("执行到这了");if(data.length >0) {
$('#suggestions').show();
$('#autoSuggestionsList').html(data);
}
});页面未加载完成时, 会输出'执行到这了'. 但下面返回的数据,就只能等页面加载完成后,才返回到数据。怎么解决这个问题,让页面未加载完成时,ajax就能正常返回数据,无需等这个页面加载完毕才能执行?
ajax php
$.post("seach.php", {Action: "post",queryString: ""+inputString+""}, function(data){
alert("执行到这了");if(data.length >0) {
$('#suggestions').show();
$('#autoSuggestionsList').html(data);
}
});页面未加载完成时, 会输出'执行到这了'. 但下面返回的数据,就只能等页面加载完成后,才返回到数据。怎么解决这个问题,让页面未加载完成时,ajax就能正常返回数据,无需等这个页面加载完毕才能执行?
ajax php
==============================
我ajax加载的是PHP页面, PHP页面串,我把内容单纯的改成, 输出'111111111111111111';
没有任何程序。 也是同样的结果, 非要等整个页面加载完成,搜索提示才输出1111111111111
==============================
我ajax加载的是PHP页面, PHP页面串,我把内容单纯的改成, 输出'111111111111111111';
没有任何程序。 也是同样的结果, 非要等整个页面加载完成,搜索提示才输出1111111111111
没仔细看你的说明。。应该是css加载的问题
=========================
把alert("执行到这了"); 如果放到最后, 他也是等整个页面加载完成了,才弹出对话框.
=========================
把alert("执行到这了"); 如果放到最后, 他也是等整个页面加载完成了,才弹出对话框.
不可能吧。什么浏览器。是不是你那2个控件还没有在DOM中生成导致代码出错
if(data.length >0) {
alert(data)//能执行到这句吗?还是页面加载完毕才执行
$('#suggestions').show();
$('#autoSuggestionsList').html(data);
alert("执行到这了");///////这里放一句,应该没加载完毕也会执行到这句,
}
=========================
把alert("执行到这了"); 如果放到最后, 他也是等整个页面加载完成了,才弹出对话框.
不可能吧。什么浏览器。是不是你那2个控件还没有在DOM中生成导致代码出错
if(data.length >0) {
alert(data)//能执行到这句吗?还是页面加载完毕才执行
$('#suggestions').show();
$('#autoSuggestionsList').html(data);
alert("执行到这了");///////这里放一句,应该没加载完毕也会执行到这句,
}
alert(data)//能执行到这句吗?还是页面加载完毕才执行
这样测试了, 还是需要页面加载完成, 才输出'data'中的数据。
alert(data)//提到这里来是什么效果
if(data.length >0) {
是不是你加载的内容太多,IE处理不过来。。
alert(data)//提到这里来是什么效果 这里输出的效果很正常,返回的数据是正确的, 但是就是非要等页面,加载完成后才能输出。加载内容太多, 是指哪方面。 我网站图片却实很多, 需要一些时间加载。 因为是首页,内容也较长。
$('#autoSuggestionsList').html('======================'); 看能显示没
我不用ajax正常了,貌似,就是ajax接收不到返回的数据!!
现在有个关键问题是,页面加载的时候貌似ajax不工作了,根本不跟我的PHP页面交互返回数据。 非得页面加载完毕, 才返回数据。 我上面有例子测试过。
alert(data);//ajax 接收到数据就输出来看看
$('#suggestions').show();
$('#autoSuggestionsList').html(data);
}
}); 这样测试, 还是要等页面加载完毕。 我后面加载的页面中,有没有什么情况是可以挂起ajax暂时停止执行的?
现在有个关键问题是,页面加载的时候貌似ajax不工作了,根本不跟我的PHP页面交互返回数据。 非得页面加载完毕, 才返回数据。 我上面有例子测试过。额你的页面是静态还是动态的?
是动态的话 第一次加载页面的时候就吧数据搜索好写给他吧
现在有个关键问题是,页面加载的时候貌似ajax不工作了,根本不跟我的PHP页面交互返回数据。 非得页面加载完毕, 才返回数据。 我上面有例子测试过。额你的页面是静态还是动态的?
是动态的话 第一次加载页面的时候就吧数据搜索好写给他吧我晕,几万条数据。 不可能预先加载的。而且中间还要PHP来筛选
现在有个关键问题是,页面加载的时候貌似ajax不工作了,根本不跟我的PHP页面交互返回数据。 非得页面加载完毕, 才返回数据。 我上面有例子测试过。额你的页面是静态还是动态的?
是动态的话 第一次加载页面的时候就吧数据搜索好写给他吧我晕,几万条数据。 不可能预先加载的。而且中间还要PHP来筛选
这个首次搜索的动作 看下来真的有点多余
试过,没用$.ajax({
url:"txt.xml",
datatype:"xml",
async:true,
type:"POST"
success:function(oxml){
alert("success");
},
error:function(oxml){
alert("error");
}
});
试过,没用$.ajax({
url:"txt.xml",
datatype:"xml",
async:true,
type:"POST"
success:function(oxml){
alert("success");
},
error:function(oxml){
alert("error");
}
});
应该不会有问题的。
//。。
}
加载完之后再执行