2010-02-20 45 views
0

我有什么应该是一个简单的要求,但是,我渴望得到最佳解决方案的意见。CakePHP Jquery Ajax进度指示器 - 更新DIV

首先,我在LAMP dev服务器上使用CakePHP和JQuery。

该网站使用的是通过GET提交的数据/寻找一个简单的搜索?项= XXX

搜索逻辑实现数与多个第三方的API,目前最多可以达到5秒耗时电话。

我需要的是尽快加载页面,然后向最终用户提供响应式反馈。我认为实施一个显示'请稍等'的信息或动画gif将是最好的方法。在页面加载/搜索提交时,会对cakePHP URL执行Ajax调用,该URL会启动密集查询,传递搜索词并响应布局数据数组。

它应该类似于汽车保险比较站点,汇总来自多个来源的数据并向最终用户提供响应式反馈。

听起来不错?任何人都可以提供任何代码示例/ URL来巩固我的理解?

感谢, 保罗

回答

1

好,加载图像的事情可以做这样的:

function() 
    { 
    ajax_loading_image('.someDivId'); 
    $.ajax({ 
    type: "GET", 
    url: 'yourUrl', 
    data: 'yourGETSubmittedData', 
    success: function(msg) 
     { 
     // do some stuff 
     ajax_remove_loading_image('.someDivId'); 
     } 
    }); 
    } 

function ajax_loading_image(div) 
    { 
    $(div).html('<img src="ajax-loader.gif" alt="loading..."/>'); 
    } 

function ajax_remove_loading_image(div) 
    { 
    $(div).html(''); 
    } 
+0

感谢上面的代码,这是一个很好的起点,我现在已经实现了我所需要的一切。我已经能够在CakePHP中使用$ this-> render('viewfilename','ajax')来协助实际的标记和布局。 – Mindblip 2010-02-21 12:28:46

+0

很高兴我能帮忙;] – PawelMysior 2010-02-21 15:51:45