我想显示错误即。数据库中已存在电子邮件。如果没有显示谢谢你的消息。错误的AJAX响应如果条件错误
我为此使用ajax和jquery。这里是我的代码: 阿贾克斯jQuery的:
<script type="text/javascript" >
$(function() {
var val_holder;
$("#subscribe").click(function() {
val_holder = 0;
var subscribe_mail = jQuery.trim($("#subscribe_mail").val()); // email field
var email_regex = /^[a-zA-Z0-9._-][email protected][a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
if(subscribe_mail == "") {
$(".error_message").html("This field is empty.");
val_holder = 1;
}
if(subscribe_mail != "") {
if(!email_regex.test(subscribe_mail)){ // if invalid email
$(".error_message").html("Your email is invalid.");
val_holder = 1;
}
}
if(val_holder == 1) {
return false;
}
val_holder = 0;
var dataString = '&subscribe_mail=' + subscribe_mail;
$.ajax({
type: "POST",
url: "ajax_subscribe.php",
data: dataString,
datatype: "json",
success: function(response) {
console.log(response);
if(response!= '')
{
$('.error_message').html(subscribe_mail + ' is already Exists.');
return true;
} else {
$('.error_message').html('Thanks For subscription!');
return false;
}
}
});
$("#subscribe_form")[0].reset();
return false;
});
});
和PHP文件中的代码是:
<?php error_reporting('E_ALL^E_NOTICE'); include('config.php');if($_POST) { $subscribe_mail = $_POST['subscribe_mail'];
$date = date('Y-m-d');
$q = mysql_query("select * from signups where signup_email_address='".$subscribe_mail."' ") or die(mysql_error());
$n = mysql_fetch_row($q);
if($n>0)
{
echo 'Already Exists';
}
else
{
$insert = mysql_query("insert into signups(signup_email_address,signup_date) values('$subscribe_mail','$date')") or die(mysql_error());
$from = '[email protected]';
$to = $subscribe_mail;
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= "From: " . $from . "\r\n"; // Sender's E-mail
$headers .= "Reply-to: " . $from . "\r\n";
$headers .= "Return-Path: $from\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$subject = "Thanks for Subscription";
$message = "Subscription email id : ".$subscribe_mail." ";
$sentmail = mail($to,$subject,$message,$headers);
$sentmail = mail($from,$subject,$message,$headers);
} } ?>
只有 if(response!= ''){$('.error_message').html(subscribe_mail + ' is already Exists.'); return true; }
这种情况下工作。如果回应是空白的,它不会去其他部分。
什么是执行console.log打印,而你有空白的响应?它打印什么? – sandeepsure
@sandeepsure它打印空白值 –
有可能有一个空白空间。所以,在检查之前修改响应。 – sandeepsure