こんにちは、ajax url で php 関数を呼び出そうとしています。これが私のやり方です。
$.ajax({
type: 'POST',
url: "<?php echo URL; ?>controller/contact/send",
data: $("#pm").serialize(),
success: function(data) {
if(data == "true") {
$("#pm").fadeOut("fast", function(){
$(this).before("Success! Your feedback has been sent, thanks :)");
setTimeout("$.fancybox.close()", 1000);
});
}
}
});
ラインでurl: "<?php echo URL; ?>controller/contact/send",
contact は php ファイルで send は関数です。
contact.php
class Contact extends Controller {
public function __construct() {
parent::__construct();
}
function index() {
$this->view->render('index/index');
}
function send() {
$mail = new Mail();
$mail->sendTo("testmail@gmail.com");
$mail->userMail($_POST['email']);
$mail->content(nl2br($_POST['msg']));
$mail->subject("New feedback");
if($mail->send()){
echo "true";
} else {
echo "false";
}
}
}
ajax 呼び出しを使用せずに send() 関数をテストしたところ、メールを受信できました。しかし、ajax 呼び出しを使用すると、メールが届きません。