我的AJAX返回的内容不是css的样式错误。
我所发现的是,我从PHP返回的所有内容都是用success属性函数显示的。我的所有退货都显示在successCSS (引导程序)中。
我不确定是否有更好的方法从PHP接收数据,然后相应地设置输出样式。
<a class="btn btn-primary" onclick="validateForm()">Send</a>
<div class="alert hide" role="alert hide">
<div class="status" id="status"></div>
</div>
function validateForm() {
$.ajax({
url: "register.php",
type: "POST",
data: $('#registration-form').serialize(),
success: function(data, textStatus, jqXHR) {
$('#status').text(data.message).addClass('successCSS');
if (data.code) //If mail was sent successfully, reset the form.
$('#registration-form').closest('form').find("input[type=text],
textarea ").val("
");
},
error: function(jqXHR, textStatus, errorThrown) {
$('#status').text(jqXHR).addClass('errorCSS');
}
});
}
<?php
$firstname = $_POST['firstname'];
$surname = $_POST['surname'];
$email = $_POST['email'];
header('Content-Type: application/json');
if ($firstname === '')
{
print json_encode(array(
'message' => 'firstname cannot be empty',
'code' => 0
));
exit();
}
if ($surname === '')
{
print json_encode(array(
'message' => 'Surname cannot be empty',
'code' => 0
));
exit();
}
if ($email === '')
{
print json_encode(array(
'message' => 'Email cannot be empty',
'code' => 0
));
exit();
}
else
{
if (!filter_var($email, FILTER_VALIDATE_EMAIL))
{
print json_encode(array(
'message' => 'Email format invalid.',
'code' => 0
));
exit();
}
}
$content = "Email: $email \nMessage: $message";
$recipient = "@gmail.com";
$mailheader = "From: $email \r\n";
mail($recipient, $subject, $content, $mailheader) or die("Error!");
print json_encode(array(
'message' => 'Registration successful !',
'code' => 1
));
exit();
发布于 2018-06-02 23:47:59
在进行===调用之前,需要检查代码ajax 0和代码=== 1并重置类名称,这样就不会添加太多的类。尝尝这个
function validateForm() {
$('#status').text('').removeClass('successCSS').removeClass('errorCSS');
$.ajax({
url: "register.php",
type: "POST",
data: $('#registration-form').serialize(),
success: function(data, textStatus, jqXHR) {
if(data.code && data.code === 1) {
$('#status').text(data.message).addClass('successCSS');
} else {
$('#status').text(data.message).addClass('errorCSS');
}
if (data.code) //If mail was sent successfully, reset the form.
$('#registration-form').closest('form').find("input[type=text],
textarea ").val("
");
},
error: function(jqXHR, textStatus, errorThrown) {
$('#status').text('error when submitting form ' + textStatus + ' : ' + errorThrown).addClass('errorCSS');
}
});
}
https://stackoverflow.com/questions/50658109
复制相似问题