要实现的是一个类似于手机里面的笔画输入法的功能,相应的字库已经事前准备好。
实现ajax主要是jQuery的功能,所以关键的内容在view里面。
controller:
public function actionIndex(){set_time_limit(0);$zi = "汉";$dict = new Dictation();$pinyin = $dict->GetPronunce($zi);$ciList = $dict->GetCis($zi);for($i=0; $i render('zi', ['pinyin' => $pinyin,'ciList' => $ciList,]);}
view:
use yii\widgets\ActiveForm;$this->title = '听写';
$this->params['breadcrumbs'][] = $this->title;
?>
';echo $pinyin . '
';foreach($ciList as $l){echo $l . '
';}
?>
this is a test
= Html::submitButton('提交', ['class' => 'btn btn-primary']) ?>
接收ajax提交并负责反馈的方法:
controller:
public function actionGetzis(){$zi = new Zi();$spells = $_POST['spells'];return $zi->GetListBySpells($spells);}
这里注意一点,因为yii2接收post数据都是用一个model类,在view里生成,然后在controller里接收。这里只接收一个数据没有必要那么麻烦,就使用了php原生的内置全局变量$_POST[“spells”]来接收了。