我有yii框架的奇怪問題。在本地主機上,ajax響應需要200毫秒(這是快速的,我很飽和),在我的服務器上,相同的功能需要4到7秒。yii框架上非常緩慢的ajax響應
下面是我的PHP AJAX功能: -
public function actionOpenpopup() {
$this->checkAjaxRequest();
$user_id = $_GET['uid'];
$rows = Yii::app()->db->createCommand()
->select('*')
->from('saved_designs')
->where('uid=:id', array(':id' => $user_id))
->order('date desc')
->queryAll();
$i = 0;
foreach ($rows as $row) {
$rows[$i] = $row;
$i++;
}
if ($rows) {
echo json_encode($rows);
}
else
echo json_encode(null);
}
function checkAjaxRequest() {
if (Yii::app()->request->isAjaxRequest) {
header('Content-Type: application/json; charset="UTF-8"');
return true;
} else {
throw new CHttpException('403', 'Forbidden Access');
exit;
}
}
JavaScript代碼: -
function sendAjaxCall(data){
$.ajax({
type : 'GET',
url : 'index.php/request/openpopup',
datatype : 'json',
data :data,
success: function (data) {
console.log(data);
}
});
}
* 注: - 到目前爲止,數據庫只有10至20條記錄。另外在現場服務器上,我所有的ajax調用都給我緩慢的響應。
此無關的Java。您是否可以在Chrome網絡控制檯中檢查哪部分請求需要時間?如果它是DNS查找等 –
也許你有不好的互聯網或主機放慢了某些東西(大量的請求) – ineersa
從本地和現場服務器上有相同的代碼判斷,可以肯定的是它不是代碼。這意味着它是服務器或您與實時服務器之間的連接。如果您處於共享主機環境,則可能有另一個虛擬主機佔用資源。 –