concrete5 블록에서 ajax를 구현해 보았습니다.
이번에는 QUICKNEM 에서 사용하고 있는 NEM(XEM)과 일본 엔의 환율을 ajax로 표시하는 블록을 예로 들어 보겠습니다.
※이번은, 블록을 만드는 or커스터마이즈 한 적이 있는 사람을 위한 기사입니다.
블록 controller.php에서 ajax 용 엔드 포인트 만들기
다음과 같이 합니다.
// action_XXXで、リクエストを受けるURLを設定する。
public function action_getprice(){
$data = $this->getPrice();
// jsonデータを返す
$this->app->make('helper/ajax')->sendResult($data);
}
// データベースからデータを取ってくる処理
// データは連想配列で返す
protected function getPrice() {
$db = Database::getActiveConnection();
$price = $db->fetchAssoc("SELECT vwap, inserted FROM ounziwCryptoPrice ORDER BY inserted DESC", array());
return $price;
}
블록 view.js에서 ajax 실행
concrete5에서는 jQuery가 포함되어 있으므로 jQuery로 데이터를 검색합니다. (vue.js 등을 사용하는 경우에는 js 읽기 설정이 필요합니다.)
$(document).ready(function(){
jQuery.ajax({
url: $('span.xemratio').data('url'),
dataType: 'json',
type: 'post',
success: function(response) {
$('span.xemratio').text(response.vwap);
$('span.xemdate').text(response.inserted);
}
});
return false;
});
덧붙여서 view.php는 아래와 같이 하고 있습니다.
<?php defined('C5_EXECUTE') or die("Access Denied.");?>
<p>
1XEM = <span data-url="<?php echo $view->action('getprice')?>" class="xemratio"></span> 円(レート取得日時: <span class="xemdate"></span>)
</p>
이렇게 하면 ajax에서 데이터를 검색할 수 있었습니다.
Reference
이 문제에 관하여(concrete5 블록에서 ajax를 구현해 보았습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ounziw/items/0d15eccb33ac6f03e6fa텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)