我的ajax电话
我进行了ajax调用以检查电子邮件地址是否已用于参与。 php文件在未使用时返回0,如果已经使用则返回1。当它被使用时,它会给出一个错误标签。
这适用于Chrome,Safari,Internet Explorer。但是Firefox中的屁股完全是痛苦的。它检查并给出正确的响应,但在5秒后它会给出超时。
我有另一个ajax调用将所有数据放入数据库,它有完全相同的问题。
我做错了什么?
function controleerDeelnemerEmail(){
var emailVal = $('#email').val();
$.ajax( {
type: 'POST',
url:'?page=home&action=check',
dataType:'text',
data: {'email':emailVal},
success: function( data ){
data = parseInt(data);
if(data == 1){
if( $(".emailerror").length == 0 ){
var error = "<label for='email' generated='true' class='error emailerror' style=''>Dit e-mailadres wordt al gebruikt</label>"
$(error).insertBefore( $('#email') );
}
}
}
})
}
服务器端
公共职能检查(){
if(!empty($_POST)){
$content = $this->deelnemerDAO->controleerDeelnemerEmail( $_POST['email'] );
if( $content == 1 ){
echo 1;
}else{
echo 0;
}
exit();
}
}
答案 0 :(得分:0)
您应该添加错误回调以查看返回的答案是否为。
ajax可以将错误的类型视为错误。
function controleerDeelnemerEmail() {
var emailVal = $('#email').val();
$.ajax({
type: 'POST',
url:'?page=home&action=check',
dataType:'text',
data: {
'email': emailVal
}
}).done(function (data) {
// equivalent to success callback
data = parseInt(data);
if (data == 1) {
if ($(".emailerror").length === 0) {
var error = $("<label>", {
'for': 'email',
'generated': 'true',
'class': 'error emailerror'
}).text("Dit e-mailadres wordt al gebruikt").insertBefore($('#email'));
}
}
}).fail(function (response, status) {
alert('fail');
});
}