Javascript AJAX联系人表单-成功和失败消息

Javascript AJAX联系人表单-成功和失败消息,javascript,ajax,Javascript,Ajax,我已经通过PHP提交了我的表单,但我在AJAX方面有点困难。提交时,错误总是出现,好像res设置为false而不是true。我试着玩弄代码,寻找我自己的答案,因为我确实想学习,但我没有找到我需要的 请你给我指出我做得不对的地方好吗 非常感谢你 代码供您参考: $('#contact_form').submit(function() { var this_form = $(this); $.ajax({ type: 'post', data: th

我已经通过PHP提交了我的表单,但我在AJAX方面有点困难。提交时,错误总是出现,好像res设置为false而不是true。我试着玩弄代码,寻找我自己的答案,因为我确实想学习,但我没有找到我需要的

请你给我指出我做得不对的地方好吗

非常感谢你

代码供您参考:

$('#contact_form').submit(function() {

    var this_form = $(this);
    $.ajax({
        type: 'post',
        data: this_form.serialize(),
        url: 'scripts/send_email.php',
        success: function(res) {
            if(res == "true") {
                $(this_form)[0].reset();
                $(".notice").removeClass("error").text("Thank you for contacting us!").addClass("success").fadeIn("fast");
            } else {
                $(".notice").text("Please check all fields and try again.").addClass("error").fadeIn("fast");
            }
        }
    });

});

由于
res
表示的值,您的真理比较似乎返回false。您正在检查以确保它是一个值为“true”的字符串。如果没有,则触发else代码

仅当AJAX传输成功时,才会执行
success
属性。您需要将比较检查设置为所需的
send_email.php
,即“Success!”或者“失败!”指示正确的操作

成功(数据、文本状态、jqXHR)

请求成功时要调用的函数。函数通过了三次 参数:从服务器返回的数据,根据 数据类型参数;描述状态的字符串;还有jqXHR (在jQuery1.4.x中,XMLHttpRequest)对象。从jQuery1.5开始 成功设置可以接受一系列函数。每个功能将 轮流叫

有关在jQuery中处理AJAX请求的更多信息,请参阅

success: function(res) {
    if (res == "Success!") {
        $(this_form)[0].reset();
        $(".notice").removeClass("error").text("Thank you for contacting us!").addClass("success").fadeIn("fast");
    } else {
        $(".notice").text("Please check all fields and try again.").addClass("error").fadeIn("fast");
    }
}
试着要求:

if(res == true)
相反。避免此类问题的另一个好方法是通过firebug或chrome调试器调试javascript,如果您使用的是chrome,则可以在代码中添加以下行:

debugger;
if(res == "true")
javascript将停止在那里,这样您就可以检查变量并查看发生了什么。您可以通过转到“选项-->工具-->开发人员工具-->脚本”来打开它


希望这有帮助:)

在您的send_email.php文件中,如果成功,则回显“success”

然后修改AJAX调用,如下所示:

success: function(data) {
if (data == "success") {do stuff} else {do failure stuff}
}

不客气。如果您在这个问题上需要额外的帮助/解释,请告诉我。