在 CakePHP 2.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);
}