有jQuery,AJAX和PHP的问题(发布)

时间:2012-01-06 11:34:00

标签: php jquery ajax post

我正在使用JQuery和AJAX发布到PHP文件,该文件最终将解析数据并将其插入数据库中。

我有问题显示试图查看我的javascript有什么问题它不会发布PHP文件。

我知道它不会发布,因为我没有收到并发送电子邮件,这是PHP文件中的第一个功能。

JS

$(document).ready(function() {
    var ptitle = $("#name").val();
    var pdesc = $("#desc").val();
    var pemail = $("#email.").val();
    $('#submit').click(function() {
        sendValue(ptitle, pdesc, pemail);
    });
});

function sendValue(ptitle, pdesc, pemail) {
    $.post("<?=MOLLY.'update.php'?>", {
        stitle: ptitle,
        sdesc: pdesc,
        semail: pemail
    }, function(data) {
        //
    }, "json");
}

PHP

mail($myemail,'test','test');

if ($_POST){
$title = $_POST['stitle'];
$email = $_POST['semail'];  
mail($myemail,$email,$title);

}

2 个答案:

答案 0 :(得分:1)

你有一个错字:

$(document).ready(function() {
    var ptitle = $("#name").val();
    var pdesc = $("#desc").val();
    var pemail = $("#email.").val();  // <---- I assume you meant "#email".
    $('#submit').click(function() {
        sendValue(ptitle, pdesc, pemail);
    });
});

答案 1 :(得分:0)

首先检查您的PHP文件是否运行,用以下内容替换内容:

PHP

echo "Im running";

然后在你的JS中:

$.post("<?=MOLLY.'update.php'?>", function(data) {
    console.log(data);
}, "json");

并查看是否返回消息并在控制台中记录。 如果是,请通过回显您发送的值来检查$ _POST,同时回显您的电子邮件变量以查看它是否正确输出。

如果一切正常,您需要检查您的服务器是否已正确设置,以便邮件命令能够实际发送电子邮件,因为问题很可能是在其他所有内容都被消除时的服务器端。

哦,你应该做cillosis所说的,使用isset并检查$ _POST超全局中的内容,而不只是if($_POST),但是因为你在PHP之前运行邮件功能,这可能不是你的主要问题。