【发布时间】:2012-04-30 10:33:30
【问题描述】:
这是我的 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;
}
我无法读取帖子变量,请帮助。 感谢所有的努力
【问题讨论】:
-
var_dump($_POST);输出什么? -
如果您使用 CI,您应该使用输入类,因为它包含安全优势。要获取帖子数据,请使用 $this->input->post() 而不是全局帖子数组。但是,如果全局 post 数组为空,我怀疑您的问题出在 JavaScript(对我来说就像 jquery)。
-
您也可以将已发送的对象分配给
var postData = {name:name, email:email, message:message};之类的变量,并与console.log( postData );核对,您是否真的发送了任何内容。您也可以在Network选项卡中的浏览器中(通常)发送了什么以及发送的操作是否已完成。 -
我假设您发布的 JavaScript 是一个 sn-p。你已经把它包装在 jquery 就绪方法中了吧?
标签: php codeigniter jquery frameworks