这是我的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;
}
我无法阅读帖子变量,请帮忙。 所有努力都赞赏
答案 0 :(得分: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)
答案 1 :(得分:-1)
如果您正在执行此跨站点,则遇到跨站点问题,因为.post是$ .ajax的包装器