`

Ajax 同步和异步问题

阅读更多
写道
function getHTTPObject()
{
var xmlhttp=null;
if (window.XMLHttpRequest)
{
xmlhttp=new XMLHttpRequest();
}
else if (window.ActiveXObject)
{
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
return xmlhttp;
}


var http = getHTTPObject();
function loadXMLDoc(name, parseFunc)
{
http.open("GET", name, true);
http.onreadystatechange = parseFunc;
http.send(null);
}
    loadXMLDoc('api/getmatype.jsp', parseMATypeSelect);
    loadXMLDoc('api/getmslink.jsp',parseMSlinkSelect);           

 

实际执行时,发现第一个loadXMLDoc执行的结果总是没有出现,好像没有执行。

其实,是因为

http.open("GET", name, true); //异步调用

改成false就好了。

 

参考资料:

 

XMLHTTP依赖于XMLHttpRequest完成从客户端的请求到服务端的应答。

XMLHttpRequest提供了两个方法open和send。open方法用于初始化XMLHttpRequest对象、指示请求的方式(get、post等)、安全性连接等,在调用open方法后必须调用send方法发送Http Request(Http请求)以返回Http Reponse(Http应答)。

 

如果设置成异步,则不等待send的返回,而直接执行接下来的代码,这样子就出现了第一个loadXMLDoc执行,但是结果没有返回,就去执行第二个去了,而他们使用的是同一个xmlhttp;

 

 

 

分享到:
评论

相关推荐

    Ajax同步和异步问题浅析及解决方法

    通过ajax向后台发送和接收数据时,常常会出现同步异步问题。这篇文章给大家介绍Ajax同步和异步问题浅析,需要的朋友参考下

    AJAX同步或异步流程图

    AJAX(Asynchronous JavaScript and XML)是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。它通过在后台与服务器交换...理解并熟练运用AJAX的同步和异步模式,是提升Web应用性能和交互性的重要手段。

    用法 XMLHttpRequest的用法 ajax同步和异步的区别

    用法 XMLHttpRequest的用法 ajax同步和异步的区别

    jquery的ajax同步和异步的理解及示例

    最近的项目用了到AJAX同步。这个同步的意思是当JS代码加载到当前AJAX的时候会把页面里所有的代码停止加载,页面出去假死状态,当这个AJAX执行完毕后才会继续运行其他代码页面假死状态解除。 而异步则这个AJAX代码...

    ajax同步和异步的优缺点

    对新手学ajax 有帮助。希望大家能够喜欢和利用。

    Ajax异步与同步方法封装的js文件

    2 同步:MyAjaxs " 要调用的方法页面 方法" 参数 function d {alert d["d"] ;} ;">调用方法:1 将下载好的Ajax js文件引用到页面 代码如下:<script src " js MyAjax js" type &...

    ExtJs Ajax 同步问题

    然而,有时我们可能会遇到Ajax同步问题,这通常是由于对异步和同步理解不透彻或者配置不当导致的。下面我们将详细探讨这个问题。 在ExtJS中,Ajax请求主要通过`Ext.Ajax`对象来实现。`Ext.Ajax.request()`方法是...

    ajax中的async属性值之同步和异步及同步和异步区别

    jquery中ajax方法有个属性async用于控制同步和异步,默认是true,即ajax请求默认是异步请求,有时项目中会用到AJAX同步。这个同步的意思是当JS代码加载到当前AJAX的时候会把页面里所有的代码停止加载,页面出现假死...

    ajax 同步请求和异步请求的差异分析

    在JavaScript的世界里,AJAX(Asynchronous ...总的来说,理解AJAX的同步和异步请求的区别是开发高效、用户友好的Web应用的关键。选择合适的请求类型,结合良好的错误处理策略,可以大大提高应用程序的性能和用户体验。

    原生ajax代码实现异步提交

    需要注意的是,实际应用中还需要考虑错误处理、兼容性问题(尤其是老版本浏览器)以及安全问题,如防止跨站脚本攻击(XSS)和跨站请求伪造(CSRF)。此外,现代Web开发中,通常会使用像jQuery、axios或fetch这样的库...

    ajax 同步和异步XMLHTTP代码分析

    而在C++开发中,同步模式应该是主流,如果一定要使用异步模式加回调,可以参考Using IXMLHTTPRequest onreadystatechange from C++一文。 下面是采用异步模式获取远程主机上RSS文件的代码,关键的地方是设置一个回调...

    javascript发送ajax请求,获取返回值res,async 同步/异步

    javascript发送ajax请求,获取返回值res,async 同步/异步 var res = sendRequest({ url : "1.php", //necessary method : "post", params : { param1 : "123", param2 : "234" }, async : false });

    jquery中的ajax同步和异步详解

    最近的项目用了到AJAX同步。这个同步的意思是当JS代码加载到当前AJAX的时候会把页面里所有的代码停止加载,页面出去假死状态,当这个AJAX执行完毕后才会继续运行其他代码页面假死状态解除。 而异步则这个AJAX代码...

    浅谈js的ajax的异步和同步请求的问题

    下面小编就为大家带来一篇浅谈js的ajax的异步和同步请求的问题。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    ajax实现异步通信

    **Ajax 实现异步通信详解** Ajax(Asynchronous JavaScript and XML)是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。它通过在后台与服务器进行少量数据交换,使网页实现异步更新,大大提升了用户...

    同步执行和异步执行学习Demo

    在编程领域,同步执行与异步执行是两种不同的任务处理方式,它们关乎程序的执行效率和用户体验。同步执行和异步执行是理解并发编程和多线程编程的关键概念。 **同步执行** 是一种线性、顺序的执行模式。在同步执行...

    jQuery中的ajax async同步和异步详解

    async在jquery ajax中是一个同步参数。本篇文章给大家介绍jq中的ajax async同步和异步,小伙伴跟着小编一起学习吧

    详解socket阻塞与非阻塞,同步与异步、I/O模型

    同步和异步只关注客户端的调用机制,而阻塞和非阻塞则关乎服务端的处理方式。同步与异步的区分并不依赖于阻塞或非阻塞,它们可以结合使用。例如,客户端可以发起异步请求,然后服务端处理请求时可能采用阻塞或非阻塞...

    ajax异步提交源代码

    2. **初始化请求**:设置HTTP方法(GET或POST)、URL和请求类型(同步或异步)。 3. **发送请求**:向服务器发送数据,如果使用POST方式,需要在send()方法中传递参数。 4. **处理响应**:监听XMLHttpRequest对象的...

Global site tag (gtag.js) - Google Analytics