<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<script type="text/javascript" src="js/jquery-1.44.min.js"></script>
</head>
<body>
<div id="divLoading" style="display: none;">
正在加载中...</div>
</body>
</html>
<script type="text/javascript">
function AjaxData() {
$.ajax(
{
cache: false,
async: false,
url: "TestAjax.aspx",
beforeSend: function () {
$("#divLoading").show();
},
success: function (result) {
$("#divLoading").hide();
alert(result);
}
});
}
setTimeout("AjaxData();", 2000);
</script>
//让TestAjax页面花费5秒时间,以让前台得出AJAX提交效果
public partial class TestAjax : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
System.Threading.Thread.Sleep(5000);
}
}以上代码,在FireFox中,当执行AJAX的时候能正常显示出divLonding状态
但是在IE中,则不会显示
然后我试着把Ajax的async: false改为async: true(将同步改为异步)
IE也可以正常显示divLonding状态但我项目有些地方是要用同步的方式,又如何实现在BeforSend的时候显示出我的londing状态呢?谢谢
解决方案 »
- ★★★ 边放视频,边显示文字【JAVASCRIPT】
- 请模式对话框,如何实现用鼠标粘贴,复制的功能?
- 一样的JS脚本..放jsp页面里就可以,写在js文件里就不行..高人帮忙找找错误啊...
- 当表单对象,事件调用JS方法的时候,方法名与表单对象名相同为什么不行!!!!!???
- 关于得到焦点的控件的类型如何判断?请较大家了
- 请帮忙改一段代码,使其能适应FireFox浏览器。
- 关于弹出新窗口后屏蔽地址栏目的问题
- 大家帮我看看,快吐血了,简单问题。
- 一个小问题,请看看....
- easyui datagrid不等待后台返回数据就显示页面
- document.getElementById("btn").onclick=function(){ff()};与document.getElementById
- 怎样在Chrome谷歌浏览器上实现程序自动安装?
这个相当
谢谢
如何解决
-----------
我后来也想是这样
但还是不行
所以我就不理解IE了,我都还没开始AJAX他就已经假死
但是在显示和AJAX中间加上alert就可以正常显示
实在不理解IE
setTimeout("$('#divLoading').followDiv('50px');$('#divLoading').show();",1);
也不行。。他只会在IE AJAX后才执行
* 用法试例:
* var obj = new myAjax();
* obj.send(url, "post", data, false, function(data){});
* -
* args_1 | 提交路径
* args_2 | 提交方式(get、post)
* args_3 | 提交数据(数组)
* args_4 | 是否同步(true-异步[默认],false-同步)
* args_5 | 回调函数
*/
var myAjax = function(){
var me = this;
this.args = arguments;
this.execCallBack = ""; this.createxmlHttpRequest = function(){
if(!me.request){
if(window.XMLHttpRequest){
return new XMLHttpRequest();
}else{
return new ActiveXObject("Microsoft.XMLHTTP");
}
}
} this.send = function(){
me.request = me.createxmlHttpRequest();
var send = "";
for(var item in arguments[2]){
send += "&" + item + "=" + arguments[2][item];
} if(arguments[1].toLowerCase() == "post"){
url = arguments[0];
}else{
url = arguments[0] + send
send = null;
} me.request.open(arguments[1].toLowerCase(), url, arguments[3]);
me.execCallBack = arguments[4];
if(navigator.userAgent.indexOf("Firefox") <= 0 && !arguments[3]) {
me.request.onreadystatechange = me.callback;
}
me.request.setRequestHeader("content-type", "application/x-www-form-urlencoded");
me.request.send(send);
if(!(navigator.userAgent.indexOf("Firefox") <= 0 && !arguments[3])) {
if(arguments[3]){
me.request.onreadystatechange = me.callback;
}else{
me.request.onreadystatechange = me.callback();
}
}
} this.callback = function(){
if (me.request.readyState == 4 && me.request.status == 200){
new me.execCallBack(me.request.responseText);
}
}
}