`

js for循环中使用$.post方法

阅读更多

在项目前台中,很多情况会使用到对一个集合进行for循环,然后每一次循环,都要重新请求一次后台,

此时有可能会碰到一种问题,就是for 循环的结果可能少了或者在for循环请求的结果不是正确的结果。这种情况主要原因如下:

该技术博客属于原创文章 ,转载请注明出处:http://www.pm-road.com/index.php/2015/01/12/337/

$.post()属于异步请求,所以在执行for 循环的时候,JS 发送了一个异步的post 请求,但是在该请求还没有返回结果的同时 ,JS继续执行了第二次for 循环,依次类推,有可能js把for 循环都执行完了,第一次的post 请求还没有结束,此时就可能出现种种问题;

 

而解决该问题的办法 就是把post 请求换成同步请求,当post 结束之后,才会进行下一次循环;

但问题又来了,$.post()的格式 为$.post(url,para,function,type)    这四个参数依次为请求url,请求参数,请求回调函数,请求类型,并没有一个参数是设置异步还是同步的,所以,此时就应该换一种请求方 法,$.ajax(); 参数如下:

$.ajax({
type: "POST",
url: url,
 async : false,//是否为同步
data: data,
success: success,
dataType: dataType
});
所以在for循环中使用请求方法,最好使用$.ajax ,而非使用post
分享到:
评论

相关推荐

    vue.js配合$.post从后台获取数据简单demo分享

    在本文中,我们将探讨如何使用Vue.js框架配合jQuery的$.post方法从后端API获取数据,并将其展示在前端页面上。这个过程涉及到前后端数据交互的基本概念,并结合了Vue.js的响应式数据绑定特性,实现了一个简单的动态...

    jQuery应用技巧大全

    同时,使用CSS3替代部分jQuery动画,减少DOM操作,以及利用$.each()替代for循环,都是优化性能的有效手段。 通过学习和实践以上jQuery应用技巧,开发者不仅能提高代码质量,还能更好地应对项目中的各种需求,为用户...

    页面刷新的各种技术。主要是前台代码

    局部刷新通常依赖于Ajax技术,jQuery库提供了多种便捷的方法实现这一功能,包括$.get、$.post、$.getJSON和$.ajax等方法。 1. $.get与$.post - **$.get**:发送GET请求获取服务器数据,回调函数接收服务器返回的...

    Jquery书籍

    然而,过度使用jQuery可能导致性能问题,合理使用$()选择器,减少DOM操作,以及了解$.each()和for循环的性能差异,都是优化jQuery应用的关键。 总的来说,这本《jQuery书籍》涵盖了jQuery的基础知识、高级技巧和...

    JavaScript和jquery实战手册

    5. Ajax:使用$.ajax()、$.get()和$.post()进行异步数据交换,处理JSON或XML格式的数据。 6. 插件生态系统:jQuery拥有丰富的插件库,如jQuery UI,提供更高级的功能,如日期选择器、拖放等。 在实战中,学习如何...

    浅析jQuery Ajax请求参数和返回数据的处理

    在早期的项目开发中,常常使用 $.get() 和 $.post() 方法来发起GET和POST请求,这些方法的语法简单,但是当参数较多时,代码就会变得繁琐。比如: ```javascript $.post("url", {name: "value", time: "2pm"}, ...

    jqurey学习

    `$.each()`方法可遍历数组或对象,类似于JavaScript的`for`循环。`$.extend()`用于合并对象,与JavaScript的`Object.assign()`相似。 九、版本更新与兼容性 随着JavaScript新特性的不断推出,jQuery也在持续更新。...

    JQuery 1.4.4 中文API

    5. **避免在循环中使用jQuery方法**: 在循环内部使用JavaScript原生方法,如`for`循环,可以提高性能。 总结,jQuery 1.4.4中文API为开发者提供了全面的文档支持,帮助他们理解和运用jQuery的各种功能,从而更高效...

    JS、JQuery手册

    5. **Ajax**:$.ajax()、$.get()、$.post()进行异步数据请求,$.getJSON()获取JSON数据。 6. **插件**:jQuery生态系统中有大量插件,如EasyUI,用于快速构建用户界面,提供了诸如对话框、表格、菜单等组件。 ...

    jquery刷新页面和JS常用的函数

    以上介绍了 jQuery 中关于页面刷新和 AJAX 方法的使用,以及 JavaScript 中的一些常用知识点。这些基础知识对于 Web 开发者来说非常重要,熟练掌握它们能够帮助开发者更高效地进行前端开发工作。

    jQuery的ajax和遍历数组json实例代码

    在JavaScript和Web开发中,jQuery库提供了一种方便的方式来处理AJAX请求和JSON数据...在处理JSON数据时,除了`$.each()`,还可以使用`for`循环或`Array.prototype.forEach()`等其他方法,根据实际需求选择合适的方法。

    jquey_学习

    - 当元素集合已知时,使用 `$.each()` 进行遍历比 `for` 循环更高效。 - 考虑到兼容性问题,确保使用最新的 jQuery 版本,并了解废弃的方法。 这个压缩包中的笔记可能包含了对这些概念的详细解释,以及如何将它们...

    transport.js

    冲突的原因是jquery给一个object增加了很多元素,那么在Object.prototype.toJSONString = function () 这个函数中 for (k in this) 语句中进行了无数次的循环,导致网页很卡,并且在IE中会报错。 解决方案: ...

    JavaScript期末考核.rar

    JavaScript是一种广泛应用... - jQuery方法:掌握常用的方法,如$.ajax、$.each、$.get、$.post等。 以上是本次JavaScript期末考核的主要内容,考生应全面掌握并能够灵活运用这些知识点,以应对实际开发中的各种场景。

    jquery实例教程

    - **避免使用 `$()` 内部循环**: 使用 `$.each()` 或原生 `for` 循环处理数组或对象,以提高性能。 通过学习这些知识点,并结合提供的 `jQuery教程.rar` 和 `jquery.rar` 文件中的实例代码,你可以逐步掌握并精通 ...

    即将发布的jQuery 3 有哪些新特性

    除了forof循环,jQuery 3还更新了$.get()和$.post()这两个传统的Ajax方法。这两个方法被赋予了新的参数签名,使得它们的接口风格与$.ajax()保持一致。新的签名接受一个settings对象作为参数,这使得开发者可以传递更...

    jQuery学习资料

    - jQuery的$.each()用于遍历数组和对象,与JavaScript的for循环或forEach()有所不同。 7. **性能优化** - 使用`$(document).on()`替代直接绑定事件,避免内存泄漏。 - 避免在DOM操作中频繁创建jQuery对象,使用`...

    jQuery对后台json的解析

    在jQuery中,我们可以使用`$.ajax()`或`$.get()`、`$.post()`等方法与服务器进行异步通信。当从后台获取JSON数据时,我们需要设置`dataType`参数为`'json'`,以告知jQuery期望的响应类型。例如: ```javascript $....

    vue.js && vue-resource.js

    Vue.js 是一款轻量级的前端JavaScript框架,由尤雨溪开发,旨在简化Web应用程序的构建过程。Vue的核心特性包括组件化、响应式数据绑定、虚拟DOM、指令系统以及易于集成其他库或既有项目的能力。它以其易学易用、高...

    基于jq一点不会的人,看后能熟练运用jquery

    - **.each()**: 遍历 jQuery 集合,执行指定函数,类似于 JavaScript 的 `for` 循环。 ### 5. jQuery 实战应用 - **网页交互优化**: 利用 jQuery 优化页面加载,提高用户体验,例如延迟加载、局部刷新等。 - **...

Global site tag (gtag.js) - Google Analytics