我开发了一些网站,我总是碰到一个相同的问题:多个ajax电话。我有一个主页面,所有的内容都是异步加载的。加载页面时,有四个独立调用按页面(顶部,左侧,右侧和底部)“绘制”页面,并在加载时向用户显示典型的ajax旋转。所以,当浏览器收到请求时,我执行回调,不同的区域在不同的时间绘制。事实是,服务器的答案有时会混淆在一起,我的意思是,top的答案是左边的,反之亦然。同时发送多个ajax电话
我已经尝试了一些解决方案,比如在每个请求中创建一个时间戳,以向浏览器和服务器表明每个请求都不相同。
另外我试过在服务器上配置缓存的一些参数,以防万一。
在其中工程已包括在一个回调的请求2的唯一途径等
任何人都知道正确的方式去做或曾经击败这个问题?我不想做链接请求。
感谢
这里是我的意思的例子:
$(document).ready(function() {
$.get('/activity',Common.genSafeId(),function(data){$('#stream').html(data);$("#load_activity").addClass("empty");});
$.get('/messages',Common.genSafeId(),function(data){$('#message').html(data);$("#load_messages").addClass("empty");});
$.get('/deals',Common.genSafeId(),function(data){$('#new_deals_container').html(data);$("#load_deal").addClass("empty");});
$.get('/tasks',Common.genSafeId(),function(data){$('#task_frames').html(data);$("#load_task").addClass("empty");});});
和HTML是一个简单的JSP有四个容器每一个具有不同的ID。
你是什么意思,答案是在错误的地方画的?正确构造的Ajax调用将更新布局中非常特定位置的HTML的特定部分。发布一些简单的代码来说明问题。 – 2012-04-14 01:12:06
你是否用$('#container')。append()来添加内容到你的页面? – jimw 2012-04-14 01:18:25
是的,我更新了这篇文章。内容被添加到DOM,但有时候请求会将内容绘制在不合适的ID中。我知道这很奇怪,因此我通常会做链式要求。感谢您的答复。 – 2012-04-14 01:50:50