我正在使用ajax請求來填充用戶已填寫數據的模式彈出窗口。彈出窗口只是我顯示/隱藏jQuery的div佈局。這個過程肯定會有一些延遲。由於彈出窗口等待數據被檢索,因此用戶流量很容易等待發生的4秒鐘。所以我提出了彈出窗口,比我做ajax調用。在數據被填充時,這裏有幾秒的滯後時間。我不確定預填充數據是否有意義,因爲根據用戶的操作,有很多不同數據組合的可能性。被調用的查詢都非常簡單。加快Ajax/JavaScript,檢索數據時,目前太多滯後。必須有更好的方法
我知道必須有更好的方法來做到這一點。而且我知道這並沒有幫助,而是在1次調用中返回所有可靠的類定義,而每次我需要檢索數據時都會調用一些調用。但通過了,我不知道我該怎麼做。
這是許多例子之一。我會讓Ajax調用就像這樣:
openPopup();
Ext.Ajax.Request({
action: 'retrieve_last_config',
stage_id: stage_id,
success_fn: function(response) {
Ext.each(response.config_data, function(result) {
if(result != null) {
$('#stage-due-date').html(result.date_due);
$('#stage-email-body').html(result.email_body);
}
});
}
}); //end ajaxRequest
以上是傳遞一個id,看起來像這樣的功能:
function retrieve_last_config($request) {
$last_config = stage_config::getLatest($request->db, "WHERE stage_id='{$request->stage_id}'");
foreach ($last_config as $config) {
$config_data[] = array(
'id' => $config->id,
'stage_id' => $config->stage_id,
'template_id' => $config->template_id,
'date_due' => convertDateFormat($config->date_due),
'email_body' => $config->email_body,
'send_email' => $config->send_email,
'create_date' => convertDateFormat($config->create_date),
);
}
return json_encode(array('status' => 'OK', 'config_data' => $config_data));
}
我很樂意挖得更深,帶班定義等。但我認爲這將給予足夠的想法。就我的方法而言,我有沒有辦法脫離基地?任何幫助表示讚賞,謝謝!
謝謝,Larsenal。偉大的建議,我現在會通過這個! – mstef 2012-03-23 18:39:46