Html CakePHP2中的AJAX加载

Html CakePHP2中的AJAX加载,html,ajax,cakephp,jquery,cakephp-2.0,Html,Ajax,Cakephp,Jquery,Cakephp 2.0,在CakePHP2.x中,我使用此路径向访问者显示结果 example.com/my/showResults *getSomeResults*函数发出一些Twitter API请求,通常持续5-25秒 我需要在视图中添加一个“加载div”。 但我无法决定结构 我在google找到的示例显示,当用户单击按钮时,会发出AJAX请求,结果显示在该div中 但在我的例子中,当加载页面时,请求将异步完成,当结果可用时,它们将显示在另一个div中 关于我下面的文件结构,我应该把AJAX请求放在哪里? 当AJ

在CakePHP2.x中,我使用此路径向访问者显示结果 example.com/my/showResults *getSomeResults*函数发出一些Twitter API请求,通常持续5-25秒

我需要在视图中添加一个“加载div”。 但我无法决定结构

我在google找到的示例显示,当用户单击按钮时,会发出AJAX请求,结果显示在该div中

但在我的例子中,当加载页面时,请求将异步完成,当结果可用时,它们将显示在另一个div中

关于我下面的文件结构,我应该把AJAX请求放在哪里? 当AJAX请求成功时,我是否应该删除showResults方法中的行并运行另一个操作

如果您能推荐一种结构,并在AJAX请求以CakePHP 2方式成功时显示结果,我将非常高兴。多谢各位

// appcontroller.php
class AppController extends Controller {
  function getSomeResults() {
        // make some http requests to twitter API
  }
}

// mycontroller.php
class MyController extends AppController {
  public function showResults() {
    $data=$this->getSomeResults();
    $this->set('data', $data);
    $this->render('myelement');
  }
}


// myelement.ctp
<div id="before">
  Please wait loading..
</div>

<div id="results" style="display: none">
  <?php echo $data ?>
</div>


// myscript.js
$(document).ready(function() {
    $("#results").hide();
    setTimeout('$("#results").show();',8000);
}
//appcontroller.php
类AppController扩展控制器{
函数getSomeResults(){
//向twitter API发出一些http请求
}
}
//mycontroller.php
类MyController扩展了AppController{
公共功能showResults(){
$data=$this->getSomeResults();
$this->set('data',$data);
$this->render('myelement');
}
}
//myelement.ctp
请等待装货。。
//myscript.js
$(文档).ready(函数(){
$(“#结果”).hide();
setTimeout(“$(“#结果”).show();”,8000);
}

在我看来,这就像是在抓取web服务,然后通过cakephp传递数据。这意味着看起来根本不像是在使用ajax

既然您似乎已经在使用jquery,我建议您使用jquery的ajax方法连接到twitter[http://api.jquery.com/jQuery.ajax/]。因此,不仅要删除showResults(),还要删除getSomeResults()。如果需要刷新此信息,可以将此ajax调用设置为函数,并定期调用

除非在页面顶部有用于加载的div,否则可以使用jquery将results div从现在加载更改为数据

只要我的2美分