我想在我的其中一个表单中添加一个旋转器/加载器。场景很简单:当我按下create
按钮,然后它将显示一个旋转器/加载器。点击创建按钮后,将调用 Web 服务,以便旋转器/加载器将从调用开始到调用结束显示。
下面是我的控制器:
$m = MetersInventoryStore::findOne($_REQUEST['selected_meters']);
$msn = $m->meter_serial; // current selected meter serial number is saved
$date_time = str_replace(' ', 'T', date('Y-m-d H:i:s')); // current date time
$api_url = 'http://xx.xxx.xxx.xxx:7000/api/meters/GetByMsn/' . $msn . '/' .$date_time; // my base URL
$curl = curl_init($api_url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_TIMEOUT, 1000);
curl_setopt($curl, CURLOPT_HTTPHEADER, array('Authorization:key'));
$curl_response = curl_exec($curl);
$json = json_decode($curl_response);
$meter_alive = $json->data->Response;
.
.
.
.
// my other code that is saving data
.
.
.
.
return $this->render('create', ['model' => $model,]);
提交按钮如下:
<div class="form-group">
<?= Html::submitButton($model->isNewRecord ? 'Verify Communication' : 'Update', ['id'=> 'spin','name'=>'create','class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-success']) ?>
</div>
如上所述,当我按下Verify Communication
按钮会调用网络服务,在此期间我想显示一个微调器/加载器。
为了创建/显示旋转器/加载器,我搜索了很多文章。
- 显示加载中 http://www.yiiframework.com/extension/yii2-showloading/
- 卡提克旋转器 https://github.com/kartik-v/yii2-widget-spinner
- 提交微调器 http://www.yiiframework.com/extension/yii2-submit-spinner/
- Yii2 模型加载器 https://packagist.org/packages/alesar/yii2-widget-modal-
- Yii2 Jquery 加载 https://packagist.org/packages/loveorigami/yii2-jquery-loading
但上述文章都没有提到完整的实现细节。尽管我已经尝试了文章中提到的每一步。
任何帮助将不胜感激。