0

这是我的 javascript 视图,控制器正在调用。javascript

$('#contact').submit(function(e){
e.preventDefault();
var name= $('input[name=contactname]').val();
var email= $('input[name=contactemail]').val();
var message= $('textarea[name=message]').val();
$.post("index.php/homepage/sendMail",{name:name, email:email, message:message},
function(){
   $('#contactUsMask').hide();
   $('#contactAckMask').show();
   });
});

控制器

$from = $_POST['email'];
$msg = $_POST['message'];
$name = $_POST['name'];

$config['protocol'] = 'sendmail';
$config['mailpath'] = '/usr/sbin/sendmail';
$config['mailtype'] = 'html';
$config['charset'] = 'iso-8859-1';
$config['wordwrap'] = TRUE;

$this->email->initialize($config);
$this->email->from($from, $name);
$this->email->to($to);
$this->email->subject($sub);
$this->email->message($msg);
if($this->email->send())
{
    return true;
}
else
{
    echo $this->email->print_debugger();
    return false;
}

我无法阅读帖子变量,请帮忙。赞赏所有努力

4

2 回答 2

0

尝试$("#testform").serialize()在您的帖子请求中使用,例如

$('#contact').submit(function(e){
e.preventDefault();
$.post("index.php/homepage/sendMail",$("#contact").serialize(),
function(){
   $('#contactUsMask').hide();
   $('#contactAckMask').show();
   });
});

在您的控制器中,您将不得不使用$this->input->post('email');来获取电子邮件值..正如他们所说的那样尝试做var_dump($_POST)

于 2012-04-30T10:49:40.477 回答
-1

如果你在做这个跨站点,你会遇到跨站点问题,因为 .post 是 $.ajax 的包装器

于 2012-04-30T10:47:50.027 回答