我正在尝试使用ajax 制作简单的表单邮件。 但是,我无法从表单中获取数据。
我的表格:
<?php echo $this->Form->create('Page', array('default' => false)); ?>
<?php echo $this->Form->input('texto', array('label' => FALSE, 'type' => 'textarea)); ?>
<?php echo $this->Form->submit('Enviar', array('id' => 'enviar'));
echo $this->Form->end();
我的ajax:
$(document).ready(function() {
$('#enviar').click(function(){
$.ajax({
type: 'post',
complete: function(r){
$('div.teste').html('<h4> Enviado!</h4>');
}
})
})
});
Controller :
if($this->request->is('ajax')) {
debug($this->request->data);
App::uses('CakeEmail', 'Network/Email');
$Email = new CakeEmail('gmail');
$Email->to('xxxx@gmail.com');
$Email->subject('Nova Mensagem - Site Althi');
$Email->send($mensagem);
}
}
我的 Controller 发送电子邮件。
邮件已经发送成功,但是this->request->data
的数据是一个空数组。
我认为问题是从ajax传递的数据。
可以帮我吗?
最佳答案
您必须在 ajax 函数调用中设置 data
值。
$.ajax(
thecontrollerurl,
{data: $("#theformid").serialize()}
);
关于javascript - 使用ajax抓取表单数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16555183/