ajax由于他的异步特性 在第一次请求中的循环中嵌套第二个ajax会数据会读不出来

第一种

描述:如果条件许可,把两次请求都放在服务端处理掉一起发回来,这些就在客户端只有一次ajax了

优点:代码放在服务端,安全性比较,且服务端处理速度较快

缺点:可能请求的数据格式是json,这样在服务端处理JSON数据还需要对JSON进行反序列化,这样就比较麻烦

第二种

描述:是我第一次解决这个问题的时候用的比较蠢的办法,第一次请求的ajax,循环值PUSH到公共变量中去,然后用这个公共变量作为参数去请求第二个ajax

$.ajax({
cache: false,
type: 'POST',
url: url1,
dataType: 'json',
success: function (data) {
var list="";
//用,做隔断发回后台用split取值
for(var i=0;i<data.length-1;i++)
{
list+= data[i].id;
if (i != data.length - 1) {
list+= ",";
}
} $.ajax({
cache: false,
type: 'POST',
url:url2,
data: { para: list},
dataType: 'json',
success: function(result) {
.......
}
})
}
})

  

优点:节省开销

缺点:这样写的确有点蠢...除了蠢之外 我再补充一点 这样做第二次ajax只能是自己去请求自己服务器,如果是别人的服务 不可能给你拆分参数

第三种

描述:使用async :false。ajax默认async是为ture的,当async: true 时,ajax请求是异步的。但是其中有个问题:ajax请求和其后面的操作是异步执行的,那么当页面还未执行完,就可能已经执行了 ajax请求后面的操作。当async:false时,ajax请求为同步,这时Ajax请求将整个浏览器锁死,直到请求结束

优点:可以按照逻辑顺序正常的写代码

缺点:同步时整个页面是被锁死的

最新文章

  1. 基于webmagic的爬虫项目经验小结
  2. entity framework 新手入门篇(3)-entity framework实现orderby,count,groupby,like,in,分页等
  3. Robot Framework--12 RFS+AutoItLibrary测试web对话框
  4. 使用XHTML+CSS构架的好处到底有哪些?
  5. ASP.NET缓存OutputCache和Response.Cache之C#后台设置
  6. Entity Framework + WCF REST JSON Service
  7. hdu 3449
  8. 如何重写EF DBContext 获取链接字符串的方法
  9. Linux文件操作学习总结【转载】
  10. 使用Python管理Azure(1):基础配置
  11. 【SQL】SQL
  12. Pycharm 常用快捷键与设置
  13. LINUX日常操作二
  14. java界面设计(swing)
  15. golang . xml output with cdata
  16. 算法(第4版) (Robert Sedgewick / Kevin Wayne 著)
  17. LeetCode——5.Longest Palindromic Substring
  18. ip后面带端口号如何做域名解析
  19. 资源很多,你却不会使用——以不变应万变才是自学Java的正确方法
  20. 【MYSQL安装】mysql 5.6在centos6.4上的安装

热门文章

  1. 去掉vs2010字符串下红色波浪线
  2. 从零開始学android&amp;lt;SlidingDrawer 隐式抽屉.三十三.&amp;gt;
  3. iOS 开发百问(5)
  4. 三星N900(note3)刷机包 颓废N0.8.1 修复已知BUG 集成谷歌服务
  5. js如何生成[n,m]的随机数(整理总结)
  6. 79.express里面的app.configure作用
  7. BZOJ 3262 cdq分治 OR 树套树
  8. C++ lambda表达式 (一)
  9. Mysql学习总结(9)——MySql视图原理讲解与使用大全
  10. 洛谷 P3486 [POI2009]KON-Ticket Inspector