今天朋友问我一个他们公司的代码问题, 页面有很多数据, 分 5 次异步加载, 每次加载设置参数是这样的:
document.cookie="type="+type;
$.ajax({
headers:{"Cookie":document.cookie},
success: ...
...
})
然后说以前一直没问题, 直到今天浏览器升级了发现问题, 5 次加载有时顺序会有问题, 有一个没加载, 有一个加载了 2 次
我一看说你这个异步明显有线程问题啊, 有可能其中一个加载在异步的时候参数被其他的加载覆盖了, 为什么不用 data 参数呢, 他说他们的架构就是这样的
因为他们是大厂, 我现在略微有点迷茫, 这样做难道有什么特别的意义好处吗? 我强行想了一个好处, 用了 Cookie 传参数, 就可以隐藏 URL 参数, 后台也可以动态读参数, 不用定义一大堆的参数对象.
但是坏处就是没有强类型检查了.
有经验的大佬也来说说想法呗.
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.