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