什么时候ajax发送同步请求,发送ajax请求和接收响应(同步)

在不支持jQuery和事件处理程序的Windows Mobile CE设备上,开发者遇到同步AJAX请求显示和隐藏"请等待"消息的难题。尽管控制台输出顺序正确,但在收到响应前,"请等待"消息立即消失。尝试setTimeout未能解决问题。问题在于如何在发送请求前显示消息,并在收到响应后正确隐藏。
摘要由CSDN通过智能技术生成

我发送ajax请求并在我的js/html应用程序中处理响应。该设备是Windows Mobile CE,没有jQuery支持,设备浏览器(IE)不支持eventhandlers,所以我不能使用异步调用。无论如何,我的问题是,在发送活动之前,我想显示一个,请等待消息,并在收到回复后,我想再次隐藏它。发送ajax请求和接收响应(同步)

function sendRequest() {

// make please wait visible

document.getElementById("pleasewait").style.display = "block";

console.log("pleasewait visible.");

var XHR = new XMLHttpRequest();

// synch call

XHR.send(sendData);

// suppose it takes 20-30 seconds

console.log("response received :" + XHR.responseText);

XHR.open('POST', 'url', false);

// make please wait hidden

document.getElementById("pleasewait").style.display = "none";

}

但是,当我运行它时,PLEASEWAIT元素可见,当我们收到响应(不发),并成为immediatelty再次隐藏,即使这个过程需要例如20-30秒。控制台消息以正确的顺序显示,但请稍候元素没有正确更新。我尝试了一些setTimeouts,但没有想要的结果。我无法添加一些jsfiddle,因为很难在远程实现ajax请求处理程序。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值