gpt4 book ai didi

php - 当某些功能不起作用时处理 jQuery.ajax() 中的错误

转载 作者:行者123 更新时间:2023-12-01 03:42:55 26 4
gpt4 key购买 nike

我有一个 php 文件,其中包含使用 jQuery.ajax() 发送的表单。如果电子邮件未发送且错误消息未显示,我遇到的问题是。

$(document).ready(function () {
$('input[type="submit"]').click(function () {
$.ajax({
url: "mail.php",
type: "POST",
data: {
name: $('input[name="name"]').val(),
email: $('input[name="email"]').val(),
msg: $('input[name="msg"]').val()
},
cache: false,
success: function(responseText) {
$('#result').css('background', 'green');
},
error: function(responseText) {
$('#result').css('background', 'red');
}
});
return false;
});
});

由于电子邮件未发送,因此错误不会显示任何内容,但会显示成功。因此,我将 mail.php 代码更改为其他代码。

<?php
if(2 > 4) {
true;
} else {
false;
}
?>

当我按下按钮时,成功操作仍然有效,但我不知道为什么。

最佳答案

仅当 ajax 调用失败时才会触发错误回调,如果 PHP 邮件函数失败则不会触发,如果返回 false,则不会触发,因为您从服务器收到了返回的内容(字符串“false”) .

要捕获此类错误,您可以从 PHP 触发错误,也可以在成功处理程序中捕获它:

success: function(data) {
if (!data || $.trim(data) == 'false') {
$('#result').css('background', 'red');
}else{
$('#result').css('background', 'green');
}
},

和 PHP

<?php
echo 2>4 ? 'true' : 'false';
?>

关于php - 当某些功能不起作用时处理 jQuery.ajax() 中的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16938294/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com