javascript - 使用ajax抓取表单数据

标签 javascript php jquery ajax cakephp

我正在尝试使用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()}
);

更多信息请点击:http://api.jquery.com/jQuery.ajax/

关于javascript - 使用ajax抓取表单数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16555183/

相关文章:

javascript - JavaScript 中的对象是按引用还是按值传递的?

javascript - Etherpad 中的插入符是如何模拟的?

javascript - 使用 Jquery 将空格替换为 "&nbsp;"

php - Kohana 3 ORM : advanced queries, 效率

php - 当另一个选择框更改时,Jquery 自动更改选择框值

javascript - 自动 jQuery 轮播触发 FancyBox

javascript - React Js 元素未运行 Webpack 本地服务器

javascript - 为什么将 javascript 命名空间作为函数?

php - 获取sql Id并立即将其插入到另一个查询中

php - 如何在 Ajax 调用 (jQuery) 后更新 DOM?