Şimdi denetleyicimdeki cURL'den veri yüklüyorum ve benim görünüm dosyamda gösteriyorum ancak cURL'den yükleme uzun zaman alıyor, bu yüzden webiste çok uzun yükleniyor.Ajax denetleyiciden veri yükleme 'loading' iletisiyle görüntüleniyor
Yükleme efekti oluşturmak istiyorum, sadece tüm sayfamı "Yükleme, lütfen bekleyin" ile yükleyin. CURL verisine kadar mesaj alınacak ve mesaj yüklendikten sonra veriyi göstereceğim.
Bunu nasıl yapmalıyım?
Kodum:
Denetleyici: görünümünde
public function open_inventory($steam_id, $appid = 730, $contextid = 2)
{
$data = array("steamid" => $steam_id, "appid" => $appid);
$cache_file = $this->config->item('inv_dir')."/".$data['steamid']."_".$data['appid'].".json";
if (file_exists($cache_file) && (filemtime($cache_file) > (time() - 60 * 60))) // 1 hour cache
{
$output = file_get_contents($cache_file);
}
else
{
// out-of-date
$data_string = json_encode($data);
$ch = curl_init('http://localhost:3000');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json',
'Content-Length: ' . strlen($data_string))
);
$output = curl_exec($ch);
file_put_contents($cache_file, $output, LOCK_EX);
}
$json = json_decode($output,true);
if($json['data'])
{
return $json;
}
return false;
}
$items
denetleyicisi $json['data']
olduğunu.
Görünüm:
<?php foreach ($items as $item): ?>
<div class="item-slot animated zoomIn" data-id="<?= $item['id'] ?>
<p><?= $item['name'] ?></p>
</div>
<?php endforeach; ?>
Selamlar.
Eğer bir istek gönderebilir musunuz Ajax kullanarak kontrol cihazınızı? –
@ Matt.k Hiç Ajax ** ile çalışmıyorum, bu yüzden burada soruyorum. Bunu nasıl yapacağımı bilmiyorum. – mateuszji