我一直在关注教程以获得基本的自动填充表格,但出于某种原因,无论我输入什么,它都会变回空白。
这是我的代码 这是我的 StarsController.php
<?php
class StarsController extends AppController
{
var $name = "Stars";
function Auto()
{
$names = '';
$this->set('names', $names);
}
function find()
{
$this->Star->recursive = -1;
if($this->request->is('ajax'))
{
$this->autoRender = false;
$this->layout = 'ajax';
$results = $this->Star->find('all');
$names = Set::extract('../stars/Auto', $results);
echo json_encode($names);
}
}
}
?>
这是我的 auto.ctp 视图文件
<div class="search form">
<fieldset>
<legend></legend>
<?
$this->Paginator->options(array('url' => $this->passedArgs));
$this->Form->create('Star', array('type'=>'post','action' => 'find'));
echo $this->Form->input('star', array(
'empty' => 'Enter name',
'label' => 'Name',
'option'=> $names,
'id' => 'star',
'autocomplete' => 'on'));
echo $this->Form->end(__('Search'));
?>
</fieldset>
</div>
<script>
$( "#star" ).autocomplete({
source: "/star/find",
minLength: 2,
delay: 2
});
</script>
我的数据库设置
CREATE TABLE `stars` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`created` datetime NOT NULL,
`modified` datetime NOT NULL,
`name` varchar(100) COLLATE latin1_general_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=1405382401 DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=1405382401 ;
有人能看出为什么控制器没有收到数据吗?