Saya telah menambahkan tombol sederhana di salah satu file phtml saya.
<input type='button' name='emq_zip_btn' class='emq_zip_btn' value='Go'>
Saya telah menambahkan satu file js khusus ("emq.js") dari modul khusus (Ved_Mymodule):
require([
"jquery",
"jquery/ui"
], function($v){
//<![CDATA[
$v = jQuery.noConflict();
$v(document).ready(function()
{
console.log('jquery loaded from emq.js');
$v(".emq_zip_btn").on('click',function(e)
{
console.log('clicked');
});
});
//]]>
});
Ketika saya mengklik tombol di atas maka "diklik" dicetak di konsol yaitu jQuery bekerja dengan baik.
Ini adalah file pengontrol dari modul kustom Ved_Mymodule:
Ved \ Mymodule \ Controller \ Index \ Index.php:
<?php
namespace Ved\Mymodule\Controller\Index;
use Ved\Mymodule\Model\NewsFactory;
use Magento\Framework\App\Action\Action;
use Magento\Framework\App\Action\Context;
class Index extends Action
{
/**
* @var \Tutorial\SimpleNews\Model\NewsFactory
*/
protected $_modelNewsFactory;
/**
* @param Context $context
* @param NewsFactory $modelNewsFactory
*/
public function __construct(
Context $context,
NewsFactory $modelNewsFactory
) {
parent::__construct($context);
$this->_modelNewsFactory = $modelNewsFactory;
}
public function execute()
{
}
}
Ved / Mymodule / etc / frontend / routes.xml:
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="../../../../../../lib/internal/Magento/Framework/
App/etc/routes.xsd">
<router id="standard">
<route id="news" frontName="news">
<module name="Ved_Mymodule" />
</route>
</router>
Pertanyaan saya adalah bagaimana mengembalikan data dari metode pengontrol ini dan kemudian mengaksesnya melalui jQuery yaitu Bagaimana membuat panggilan ajax sederhana setelah tombol itu diklik.
Jawaban:
di bawah ini adalah contoh cara melakukan ini, Silakan modifikasi sesuai dengan kebutuhan Anda.
Saya menggunakan template js untuk ini.
Contoh berikut akan membuat drop down di file phtml Anda menggunakan fungsionalitas ajax.
Di JS Anda
Di Kontroler
DALAM file phtml Anda
getAjaxUrl harus berfungsi dalam file blok Anda, yang mengembalikan Anda url
Semoga itu bisa membantu.
sumber