私はcodeigniterを使用しています。コントローラにはいくつかのcURLスクリプトがあります。これは大きなjsonデータを取得し、読み込むには約15-20秒かかります。ロードアプリケーションの後にカールデータをロードすることを使用する
私のビューは、カール時間(15-20秒)のように長い時間読み込んでいます。
私のビューにいくつかの「読み込みアイコン」が表示され、スクリプトの後にすべてのjsonデータが読み込まれ、「読み込み中のアイコン」が私のデータに置き換えられます。
マイコード:
ビュー:
<?php foreach ($items as $item): ?>
<div class="item-slot">
<img src="http://cdn.steamcommunity.com/economy/image/<?= $item['icon_url'] ?>">
<p><?= $item['name'] ?></p>
</div>
<?php endforeach; ?>
コントローラ(open_inventory機能):
public function open_inventory($steam_id, $appid = 730, $contextid = 2)
{
$data = array("steamid" => $steam_id, "appid" => $appid);
$data_string = json_encode($data);
$ch = curl_init('http://localhost:3000/inventory');
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))
);
$json = json_decode(curl_exec($ch),true);
if($json['data'])
{
return $json['data'];
}
return false;
}
$items
ビューでは、コントローラから$json['data']
です。
よろしくお願いいたします。
あなたは非同期データを取得するために、アプリケーションの 'ajax'呼び出しを使用を検討する必要があるがサーバーから。 – Yani
@ Yaniこれを行うために私がAjax関数を検索する必要があることについて教えてください。よろしく。 – mateuszji
どうすればいいですかhttp://api.jquery.com/jquery.ajax/ – Yani