我试图从我的控制器得到我的视图文件的响应,但我总是得到没有回应。我知道控制器正在获取正确的数据并且数据在控制器中,因为我使用echo来检查但是然后创建了无法发出标头的错误。但是,当我使用$ this->设置时,我得不到任何响应。我已经跟随了许多其他问题,并添加了请求处理程序并尝试了各种各样的东西,但无法使其工作。
这是我的查看文件blah.ctp。
<?php use Cake\Routing\Router; ?>
<?= $this->Form->create(Null, ['type' => 'POST']) ?>
<?php
echo $this->Form->input('customer_id', ['options' => $customers, 'empty' => true,'id'=>'customers']);
?>
<?= $this->Form->end() ?>
<script>
document.getElementById('customers').addEventListener('change',function(){
var id = this.value;
var csrfToken = $('[name=_csrfToken]').val();
$.ajax({
type: "POST",
url: '<?php echo Router::url(array("controller" => "Customers", "action" => "fill")); ?>',
headers: {
Accept: "application/json"
},
data: {'id' : id},
beforeSend: function(xhr){
xhr.setRequestHeader('X-CSRF-Token', csrfToken);
},
success: function(data){
alert(data);
}
});
});
</script>
这是我在CustomersController中的填充功能
public function fill(){
$layout = 'ajax';
$this->autoRender = false;
if ($this->request->is('post')) {
$id = $this->request->data['id'];
$data = $this->Customers->get($id);
$this->set(compact('data'));
$this->set('_serialize', ['data']);
}
}
答案 0 :(得分:0)
EnableJpaRepositories