Php 使用';装载';加载后的卷曲数据
我正在使用codeigniter,我的控制器中有一些cURL脚本,它将获得一些大的json数据,加载它大约需要15-20秒 我的观点是加载的时间和卷曲时间一样长(15-20秒) 如何首先用一些“加载图标”加载我的视图,然后脚本将下载所有json数据,并用我的数据替换“加载图标” 我的代码: 查看:Php 使用';装载';加载后的卷曲数据,php,jquery,json,codeigniter,curl,Php,Jquery,Json,Codeigniter,Curl,我正在使用codeigniter,我的控制器中有一些cURL脚本,它将获得一些大的json数据,加载它大约需要15-20秒 我的观点是加载的时间和卷曲时间一样长(15-20秒) 如何首先用一些“加载图标”加载我的视图,然后脚本将下载所有json数据,并用我的数据替换“加载图标” 我的代码: 查看: <?php foreach ($items as $item): ?> <div class="item-slot">
<?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; ?>
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']
注意。jQuery具有ajaxStart和ajaxStop功能,您可以这样使用:
$(document).ajaxStart(function() {
$("#loading-image").show();
}).ajaxStop(function() {
$("#loading-image").hide();
});
更多信息和您需要研究在应用程序中使用
ajax
调用从服务器检索异步数据。@Yani您能告诉我需要搜索ajax函数来做什么吗?关于。或者如果您有多个curl调用,为了加快速度,您可能需要查看php手册中的curl\u multi\u init()
,并且在这里您可以向我解释如何使用php加载curl json数据吗?我也很乐意,但您需要更新您的问题并展示您现在正在做的事情。请只显示基本代码!通过ajax从视图调用php函数open_inventory(),您能告诉我如何通过ajax调用函数吗?